我是熊猫的新手,正在尝试完成以下任务:

我有一个看起来像这样的数据框:

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, :]

07-24 09:52
查看更多