过滤pandas数据帧无法返回字段中包含的值的记录

时间:2018-05-04 19:16:24

标签: python-2.7 pandas

我有下面的代码,它只过滤特定值的数据帧。但代码返回0条记录,我无法理解为什么因为该值明确包含在字段中。任何提示都非常感谢。

Code

df[df[‘blah_id’]==‘blahMEB’].head()



Example data:
Print df.blah_id[1:5]

9         7477
20     blahMEB 
24     blahMDR 
44     blahMAU 
Name: blah_id, dtype: object

1 个答案:

答案 0 :(得分:1)

如果系列确实如您的输出中那样,那么逻辑原因是您看不到空格。也就是说,其中一个条目是'blahMEB '

使用pd.Series.str.strip将删除空格。请尝试使用

df[df['blah_id'].str.strip()=='blahMEB'].head()

例如

df = pd.DataFrame(dict(blah_id=['blahMEB ', 'foo']))
>>> len(df[df['blah_id']=='blahMEB']), len(df[df['blah_id'].str.strip()=='blahMEB'])
(0, 1)