2017-07-18 162 views
0

我想根据字符串的精确匹配来过滤熊猫数据帧。基于精确字符串匹配过滤熊猫数据帧

我有一个数据帧如下

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

我要筛选,除了有该行的所有行“aball'.As你可以看到我有IDS ==一个条目‘aballl’ 。我想要过滤出来。因此,下面的代码无法正常工作:

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

甚至str.match不起作用

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

任何帮助将不胜感激。

+0

什么是期望的输出? – jezrael

回答

3

保持简单,这应该工作:

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

你可以试试这个:

df1[~(df1['ids'] == "aball")] 

本质上,它会找到匹配 “aball” 的所有条目,然后否定它。