2017-10-20 73 views
1

假設我們有一些數據系列的最佳方式:什麼是得到的NaN指數在大熊貓數據系列

0 'one' 
1 'two' 
2 NAN 
3 'three' 
4 NAN 
5 NAN 

現在我想獲得的所有NAN元素的indecies。因此,使用python的大熊貓LIB我會做這樣的事情:

import pandas as pd 
import numpy as np 


data = pd.Series(['one', 'two', np.nan, 'three', np.nan, np.nan]) 
nan_index = data.index.difference(data.dropna().index) 

但是,我得到這不是做這件事的pandonic方式的感覺。

回答

1

通過使用isnull

data[data.isnull()].index 
Out[739]: Int64Index([2, 4, 5], dtype='int64') 

或者

data.isnull().nonzero() 
+1

哎,使用'非零()' - 是一個絕妙的主意! – MaxU

+1

@MaxU謝謝你,夥計〜 – Wen

1
In [11]: data.index[data.isnull()] 
Out[11]: Int64Index([2, 4, 5], dtype='int64') 

In [12]: np.where(data.isnull())[0] 
Out[12]: array([2, 4, 5], dtype=int64)