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

2024-09-28 21:46:44 发布

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

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

我有一个如下的数据框

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: 数据字符串ididsdataframematchpddf1
2条回答

您可以尝试以下方法:

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

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

保持简单,这应该会起作用:

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

相关问题 更多 >