如何解决挖掘“包含在”条目中而不是“等于”的术语
我正在做一些数据挖掘。我有一个看起来像这样的数据库(拉出三行):
100324822$10032482$1$PS$BENICAR$OLMESARTAN MEDOXOMIL$1$Oral$UNK$$$Y$$$021286$$$TABLET$ 1014687010$10146870$2$SS$BENICAR HCT$氢氯噻嗪\OLMESARTAN MEDOXOMIL$1$Oral$1/2 of 40/25MG 片剂$$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”一词的任何东西。
谢谢!
解决方法
您可以使用 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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。