Python 过滤数据帧并避免nan
好的,我有这个数据框Python 过滤数据帧并避免nan,python,pandas,Python,Pandas,好的,我有这个数据框 import pandas dfp=pandas.DataFrame([5,10,1,7,13,4,5,7,8,10,11,3]) 我想用值大于5的行创建第二个数据帧,因此: dfp2=dfp[dfp>5] 我的问题是我得到了这个结果: 0 0 NaN 1 10 2 NaN 3 7 4 13 5 NaN 6 NaN 7 7 8 8 9 10 10 11 11 NaN 我想要的是另一个结果: 0 0
import pandas
dfp=pandas.DataFrame([5,10,1,7,13,4,5,7,8,10,11,3])
我想用值大于5的行创建第二个数据帧,因此:
dfp2=dfp[dfp>5]
我的问题是我得到了这个结果:
0
0 NaN
1 10
2 NaN
3 7
4 13
5 NaN
6 NaN
7 7
8 8
9 10
10 11
11 NaN
我想要的是另一个结果:
0
0 10
1 7
2 13
3 7
4 8
5 10
6 11
我的代码有什么问题
非常感谢您正在使用从比较中生成的掩码,因此在
为False时
将返回NaN
,以消除这些调用:
这里的面具:
In [33]:
dfp > 5
Out[33]:
0
0 False
1 True
2 False
3 True
4 True
5 False
6 False
7 True
8 True
9 True
10 True
11 False
好的,非常感谢!!我现在的问题是,我的数据帧中有几列,当我执行此操作时,df3=df2[df2.country=='BE'].dropna()不会删除na行。我该怎么处理呢?谢谢!!我的意思是索引不会重新启动索引引用原始df,因为它是一个视图,您可以重置它:
dfp[dfp>5].dropna().reset_index(drop=True)
In [33]:
dfp > 5
Out[33]:
0
0 False
1 True
2 False
3 True
4 True
5 False
6 False
7 True
8 True
9 True
10 True
11 False