2016-03-01 44 views
1

我试图筛选基于一个条件的熊猫数据帧(Python 2.7版):过滤熊猫数据帧 - 失败的NaN值

data[data['a']=='bbb'] 

但一些中值的系列数据['a']是NaN,我得到一个错误: invalid type comparison

我该如何忽略它并将NaN视为不符合标准,从而过滤出来?

谢谢!

回答

2

重新分配列的类型如下:

df['a'] = df['a'].astype('O') 

这应该解决的问题。

1

您可以尝试notnull

data[(data['a']=='bbb') & (data['a'].notnull())] 

样品:

print data 
     a 
0 bbb 
1 bbb 
2 bbb 
3 bbb 
4 bbb 
5 bbb 
6 bbb 
7 NaN 
8  a 
9  a 
10 bbb 

print data[(data['a']=='bbb') & (data['a'].notnull())] 
     a 
0 bbb 
1 bbb 
2 bbb 
3 bbb 
4 bbb 
5 bbb 
6 bbb 
10 bbb