基于精确字符串匹配过滤Pandas数据帧

2024-09-28 21:43:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我想根据字符串的精确匹配来筛选pandas数据帧。

我有一个数据框如下

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

我要筛选除具有“aball”的行之外的所有行。如您所见,我还有一个id='aball'的条目。我要把那个脏东西拿出来。因此,以下代码不起作用:

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

即使str.match也不工作

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

任何帮助都将不胜感激。


Tags: 数据字符串idsdataframepandasmatchpddf1
2条回答

你可以试试这个:

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

从本质上讲,它会找到所有匹配“aball”的条目,然后将其取反。

保持简单,这应该有效:

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

相关问题 更多 >