当dataframe是这样的时候,
a b c d
0 1.0 NaN 3.0 NaN
1 NaN 6.0 NaN 8.0
2 9.0 NaN NaN NaN
3 13.0 NaN 15.0 16.0
我想删除 b 和 d 列中包含 NaN 的行。所以我希望结果是这样的。
a b c d
1 NaN 6.0 NaN 8.0
3 13.0 NaN 15.0 16.0
在这种情况下,我不能使用 df.dropna(thresh=2)
因为我不想删除第 1 行,
如果我使用 df.dropna(subset=['b', 'd'])
那么第 3 行也将被删除。
我现在该怎么办?
最佳答案
dropna
有一个额外的参数,how
:
how{‘any’, ‘all’}, default ‘any’
Determine if row or column is removed from DataFrame, when we have at least one NA or all NA.
‘any’ : If any NA values are present, drop that row or column.
‘all’ : If all values are NA, drop that row or column.
如果您将它设置为all
,它只会丢弃填充了NaN 的行。在你的情况下 df.dropna(subset=['b', 'd'], how="all")
会起作用。
关于python - 如何删除第一列和第三列中都包含 NaN 的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68467015/