基于准确字符串匹配过滤Pandas数据框架

9

我希望能够根据字符串的完全匹配来筛选pandas数据框。

我有以下数据框:

df1 = pd.DataFrame({'vals': [1, 2, 3, 4,5], 'ids': [u'aball', u'bball', u'cnut', u'fball','aballl']})    

我希望过滤掉除了“aball”行以外的所有行。如您所见,我还有一个id == 'aballl'的条目。我想将其过滤掉。因此,以下代码无法正常工作:

df1[df1['ids'].str.contains("aball")]    

即使使用str.match也无法工作

df1[df1['ids'].str.match("aball")] 

任何帮助都将不胜感激。

1
期望的输出是什么? - jezrael
2个回答

20

简单明了,这应该有效:

df1[df1['ids'] == "aball"] 

3
你可以尝试这个方法:
df1[~(df1['ids'] == "aball")] 

基本上,它将找到所有与“aball”匹配的条目,然后对其进行否定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接