我正在做一些数据挖掘。我有一个数据库,它看起来像这样(拉出三行):
100324822$10032482$1$PS$贝尼沙坦$奥美沙坦美多美米$1$口服$UNK$Y$021286$片剂$1014687010$10146870$2$SS$贝尼卡HCT$氢氯噻嗪\奥美沙坦美多米$1$口服$1/2 40/25毫克片剂$$Y$.5$DF$薄膜包衣片$QD 115700162$11570016$5$C$Olmesartan$OLMESARTAN$1$Unknown$UNK$$$U$U$
我的代码看起来像这样:
with open('DRUG20Q4.txt') as fileDrug20Q4:
drugTupleList20Q4 = [tuple(map(str, i.split('$'))) for i in fileDrug20Q4]
drug20Q4 = []
for entryDrugPrimaryID20Q4 in drugTupleList20Q4:
drug20Q4.append((entryDrugPrimaryID20Q4[0], entryDrugPrimaryID20Q4[3], entryDrugPrimaryID20Q4[5]))
fileDrug20Q4.close()
drugNameDataFrame20Q4 = pd.DataFrame(drug20Q4, columns = ['PrimaryID', 'Role', 'Drug Name']) drugNameDataFrame20Q4 = pd.DataFrame(drugNameDataFrame20Q4.loc[drugNameDataFrame20Q4['Drug Name'] == 'OLMESARTAN'])目前,代码将只拉出具有确切名称"OLMESARTAN“的条目,我如何捕获所有的变体,例如"OLMESARTAN MEDOXOMIL”等?我不能简单地列出所有的变体,因为有无限多的变体,所以我需要一些东西来捕捉其中包含"OLMESARTAN“一词的任何东西。
谢谢!
发布于 2021-03-13 01:31:25
你可以使用str.contains来得到你想要的东西。
下面是一个示例(使用我在文档中找到的一些字符串):
import pandas as pd
df = pd.DataFrame()
item = 'Return boolean Series or Index based on whether a given pattern or regex is contained within a string of a Series or Index.'
df['test'] = item.split(' ')
df[df['test'].str.contains('de')]这将输出以下内容:
test
4 Index
22 Index.https://stackoverflow.com/questions/66604453
复制相似问题