How to get row, column indices of all non-NaN items in Pandas dataframe
问题 How do I iterate over a dataframe like the following and return the non-NaN value locations as a tuple. i.e. df: 0 1 2 0 NaN NaN 1 1 1 NaN NaN 2 NaN 2 NaN I would get an output of [(0, 1), (2, 0), (1, 2)]. Would the best way be to do a nested-for loop? Or is there an easier way I'm unaware of through Pandas. 回答1: Assuming you don't need in order, you could stack the nonnull values and work on index values. In [26]: list(df[df.notnull()].stack().index) Out[26]: [(0L, '2'), (1L, '0'), (2L, '1')