2016-03-01 112 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