假设我有一个数据帧:
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)