我有一个非常大的 pandas DataFrame(>1 亿行,>1000 列)。每行都有一个唯一的标签作为索引,对于大多数行,只有一列包含值。我想通过删除那些只有一列具有值的行来创建一个新的 DataFrame,并保留那些具有多于两列的行具有值。
问问题
619 次
1 回答
1
您可以使用以下方法删除它们dropna
:
In [3]:
#sample df
df = pd.DataFrame({'a':[0,NaN, 2,3,4], 'b':[0,NaN, 2,3,NaN], 'c':arange(5)})
df
Out[3]:
a b c
0 0 0 0
1 NaN NaN 1
2 2 2 2
3 3 3 3
4 4 NaN 4
In [5]:
# drop just the rows which have 2 or more NaN values
df.dropna(thresh=2, axis=0)
Out[5]:
a b c
0 0 0 0
2 2 2 2
3 3 3 3
4 4 NaN 4
您传递参数thresh=2
以指定您至少需要 2 个非 NA 值,axis=0
并将指定应按行应用标准。
于 2014-12-21T21:50:53.970 回答