Pandas中非“NaN”值的索引

时间:2014-07-01 13:12:38

标签: python pandas

从Pandas数据框中,如何获得非“NaN”值的索引?

我的数据框是

    A    b     c
0   1    q1    1
1   2    NaN   3
2   3    q2    3
3   4    q1    NaN
4   5    q2    7

我想要列 b 不是NaN的行的索引。 (其他栏中可能有NaN值,例如c)

  

non_nana_index = [0,2,3,4]

使用这个非“NaN”索引列表我想创建一个新的数据框, b 列没有“Nan”

DF2 =

    A    b     c
0   1    q1    1
1   3    q2    3
2   4    q1    NaN
3   5    q2    7

2 个答案:

答案 0 :(得分:22)

只需过滤它们

In [62]:

df['b'].notnull()

Out[62]:
0     True
1    False
2     True
3     True
4     True
Name: b, dtype: bool
In [63]:

df[df['b'].notnull()]
Out[63]:
   A   b   c
0  1  q1   1
2  3  q2   3
3  4  q1 NaN
4  5  q2   7

答案 1 :(得分:4)

DataFrames有一个dropna方法:

import pandas
import numpy

d = pandas.DataFrame({'A': [1, 2, 3, numpy.nan], 
                      'b': [1, 2, numpy.nan, 3],
                      'c': [1, numpy.nan, 2, 3]})
d.dropna(subset=['b'])