2017-02-10 75 views
-2

如何获得NAN值为PANDA的所有位置。对于实施例,在熊猫中获取所有行和列中NaN值的位置

sample = pd.DataFrame(np.zeros(shape=[5,5])) 
sample.iloc[0,0] = np.nan 
sample.iloc[2,3] = np.nan 
sample.iloc[4,3] = np.nan 

是熊猫数据帧,其中的位置,例如(0,0),(2,3)和(4,3)具有NaN值。因此,我想要一个像这样的元组列表

[(0,0),(2,3),(4,3)] 

何我能得到这个吗?

问候

+0

有许多现有的重复,请使用搜索功能。 – smci

+0

或invert [如何获取Pandas数据框中所有非NaN项的行,列索引](http://stackoverflow.com/questions/36375939/how-to-get-row-column-indices-of-all-非楠项功能于大熊猫非数据帧) – smci

回答

0

在这种情况下,由于您的列和索引值,你可以先打开每个条目使用isnull为布尔值,然后用一个lambda函数筛选只是真实值在括号中的行数和列数和然后将选定的索引转换为列表。

sample.isnull().stack()[lambda x: x].index.tolist() 
[(0, 0), (2, 3), (4, 3)]