我想根据字符串的完全匹配过滤pandas数据框。
我有一个数据框如下
df1 = pd.DataFrame({'vals': [1, 2, 3, 4,5], 'ids': [u'aball', u'bball', u'cnut', u'fball','aballl']})
我想过滤除了包含' aball'之外的所有行。你可以看到我还有一个带有ids ==' aballl'的条目。我希望过滤掉。因此,以下代码不起作用:
df1[df1['ids'].str.contains("aball")]
即使str.match也不起作用
df1[df1['ids'].str.match("aball")]
非常感谢任何帮助。
答案 0 :(得分:9)
保持简单,这应该有效:
df1[df1['ids'] == "aball"]
答案 1 :(得分:2)
你可以试试这个:
df1[~(df1['ids'] == "aball")]
基本上它会找到所有匹配的条目" aball"然后否定它。