如何找到每一行都有值的列 我的pd.DataFrame看起来像这样:
A B C D
1 1 2 3 2
2 2 2 1
3 3 2 1
我想得到这个输出
B D
1 2 2
2 2 1
3 3 1
如何检测正确的列?
谢谢你, R
答案 0 :(得分:2)
在没有值缺少值的情况下使用:
df1 = df.loc[:, df.notna().all()]
#oldier pandas versions
#df1 = df.loc[:, df.notnull().all()]
print (df1)
B D
1 2 2
2 2 1
3 3 1
说明:
按notna
比较无缺失值:
print (df.notna())
A B C D
1 True True True True
2 True True False True
3 False True True True
检查列中的所有值是否都是DataFrame.all
的True
:
print (df.notna().all())
A False
B True
C False
D True
dtype: bool
如果没有值是空字符串,请用DataFrame.ne
(!=)
进行比较:
df = df.loc[:, df.ne('').all()]