2015-04-01 53 views
0

我想删除包含太多NaN值的列值;具体来说:2个或更多。 我有一个看起来像这样的列的数据框。下面的列有40行。我想从第19行(在17.9之后)中删除NaN值。熊猫 - 在数据框中删除具有两个或更多NaN值的行

AvgWS 

0.12 
1 
2.04 
3.01 
3.99 
5 
6 
7 
7.99 
9 
10 
10.98 
11.99 
13 
13.93 
14.99 
15.98 
NaN 
17.9 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 
NaN 

感谢

回答

1

您可以在列调用isnull(),这将返回一系列与布尔值,那么你施放这int,该True值成为1False成为0,然后调用cumsum(),然后我们筛选累积和小于2的df,这等于点数大于2的点:

In [110]: 

df[df['AvgWS'].isnull().astype(int).cumsum() < 2] 
Out[110]: 
    AvgWS 
0 0.12 
1 1.00 
2 2.04 
3 3.01 
4 3.99 
5 5.00 
6 6.00 
7 7.00 
8 7.99 
9 9.00 
10 10.00 
11 10.98 
12 11.99 
13 13.00 
14 13.93 
15 14.99 
16 15.98 
17 NaN 
18 17.90 
+0

现在工作正常.. @EdChum – Bhavani 2015-04-01 12:05:17

相关问题