如何在不知道哪些行的情况下在多列中选择NaN行



假设我有一个数据帧:

0   1   2   3   4   5
0   1A  2   3   4   nan 6
1   1   2   3   nan 5   nan
2   1A  2   nan nan nan nan
3   1   2   nan nan nan nan
4   1   2   3   4   5   6

我想删除df[0]中有条件的行,其中第2列为nan。我看不到第二部分。

我尝试使用选择要删除的行

df.loc[:,2:].isnull()

但是它选择最后一列中有任何null的行,我想要2中的所有列都为null的行

我不想命名列,因为数据帧的列数并不总是相同的。我现在想到的唯一解决方案是确定数据帧中的列数,然后使用

df.loc[x,2].isnull() & df.loc[x,3].isnull() ...

这看起来很笨重。理想情况下,我想要一种方法来检查第2列(df.loc[x,2:](之后的所有列中是否都有null

Quang Hong在一条评论中给了我一个答案,这就是我想要的:

df.loc[:,2:].isnull().all(1)

最新更新