Python 3.x 如何在熊猫中找到完整的空行

Python 3.x 如何在熊猫中找到完整的空行,python-3.x,pandas,Python 3.x,Pandas,我正在处理一个数据集,其中需要从数据集中查找完整的空列。 例如: 目前,我正在使用 import pandas as pd nan_col=[] for col in df.columns: if df.loc[df[col].isnull()].empty !=True: nan_col.append(col) 但这是在指定列中捕获空值,但我需要捕获空行 expected Answer: row [0,3] 是否有人可以建议我一种方法来继续识别数据帧中完整的空行。您

我正在处理一个数据集,其中需要从数据集中查找完整的空列。 例如:

目前,我正在使用

import pandas as pd
nan_col=[]
for col in df.columns:
    if df.loc[df[col].isnull()].empty !=True:
        nan_col.append(col)
但这是在指定列中捕获空值,但我需要捕获空行

expected Answer: row [0,3]

是否有人可以建议我一种方法来继续识别数据帧中完整的空行。

您可以通过与比较所有行是否都缺少值,然后通过以下方法获取索引值:


或者您可以使用
dropna
set
以及
sorted
,我在使用
NaNs
删除行之后获取索引,然后还获取整个数据帧的索引,并使用
^
获取不在两个索引中的值,之后,我使用
sorted
对列表进行排序并将其转换为列表,如下所示:

print(sorted(set(df.index) ^ set(df.dropna(how='all').index)))
idx = df.dropna(how='all').index
print([i for index, i in enumerate(df.index) if index not in idx])
如果您可能有重复索引,您可以执行
列表
理解来迭代整个
df
的索引,并将值添加到
列表
理解中如果值不在
dropna
索引中,我还可以使用
枚举
,以便如果所有索引都相同(所有重复索引),它仍然可以工作,如下所示:

print(sorted(set(df.index) ^ set(df.dropna(how='all').index)))
idx = df.dropna(how='all').index
print([i for index, i in enumerate(df.index) if index not in idx])
两个代码都输出:

[0, 3]