我有数百万个条目数据集,其中包含人类输入的观察结果,以指示某些“操作”结果。尝试创建一些类别,我需要查看此列并提取某些确切的内容!最常用的表达方式。它们可以出现在字符串的开头、结尾或中间,并且可以缩写也可以不缩写。
我构建了以下示例:
data = {'file': ['1','2','3','4','5','6'],
'observations': ['text one address', 'text 2 some',
'text home 3', 'notified text 4',
'text 5 add','text 6 homer']}
df = pd.DataFrame(data=data)
我正在尝试使用 pandas 来查看是否可以隔离并提取“家”、“不”和“地址”。
我尝试过以下方法...('|'join
取自本网站的另一个答案)
conditions = ['home','not','address']
test = df[df['observations'].str.contains('|'.join(conditions))]
str.contains
不起作用,因为它会选择 6:“text 6 homer”,因为它包含“home”(实际情况更糟,因为缩写有“ho”之类的东西。
str.match
不起作用,因为它会收到“通知”。
str.fullmatch
不起作用,因为它只能查找精确的字符串,而且这些都是长句子......
帮助赞赏...