我是熊猫的新手,正在尝试完成以下任务:
我有一个看起来像这样的数据框:
row A B
1 abc abc
2 abc
3 abc
4
5 abc abc
我想要的输出看起来像这样:
row A B
1 abc abc
2 abc
3 abc
5 abc abc
我试图删除行,如果在A和B列中都没有值:
if finalized_export_cf[finalized_export_cf['A']].str.len()<2:
if finalized_export_cf[finalized_export_cf['B']].str.len()<2:
finalized_export_cf[finalized_export_cf['B']].drop()
但这给了我以下错误:
ValueError: cannot index with vector containing NA / NaN values
当两列都为空单元格时如何删除值?
谢谢您的建议。
最佳答案
您可以通过在链中使用.isnull()
和all()
来检查所有行是否都为空。 isnull()
产生一个带有布尔值的数据框,并且all(axis=1)
检查给定行中的所有值是否为true。如果是这种情况,则意味着行中的所有值均为空:
inds = df[["A", "B"]].isnull().all(axis=1)
然后,您可以使用
inds
清除仅包含空值的所有行。首先使用tilda ~
取反它,否则您只能缺少值:df = df.loc[~inds, :]