从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
答案 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'])