当我在数据框中查找单词时,它会向我显示包含这些字母的每个条目,但我真的希望它向我显示该特定单词。你能帮我吗?
这是示例:
import pandas as pd
d = {'col1': ['ROL', 'ROVER','ROL','ROLLER','ROL','TROLLER','rol','rolter','nan'] ,'col2': [1, 2,3,4,5,6,7,9,10]}
df = pd.DataFrame(data=d)
ROL = df[df['col1'].fillna(0).str.contains("ROL|rol",na=False)]
输出是这样的
但是我真正想要的是没有这些条目的东西
您的代码存在的问题是,您str.contains("ROL|rol")
匹配的所有值都除之外ROVER
。例如,"ROLLER"
还包含"ROL"
。
尝试使用以下方法str.contains
:
import re
ids = df.col1.str.contains('rol$|rol-|rol ', flags = re.IGNORECASE, regex = True, na = False)
然后过滤:
df[ids]
给出:
Out[115]:
col1 col2
0 ROL 1
2 ROL- 33 3
4 ROL -2 5
6 rol nº12 7
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句