如何删除Pandas中包含零值的列?

我只想保留非零列

df:

Names        Henry    Adam   Rachel  Jug   Jesscia
Robert         54      0        0     6       5
Dan            22      31       0     0       55

预期输出:

Names        Henry         Jesscia
Robert         54              5
Dan            22             55
df.loc[:, (df != 0).any(axis=0)]
did not remove the columns with only one zero value

回答

尝试:

df.loc[:,~df.eq(0).any()]

或者

正如所建议的 @sammywemmy

df.loc[:, df.ne(0).all()]

其他可能的解决方案:

df.mask(df.eq(0)).dropna(axis=1)
#OR
df.drop(df.columns[df.eq(0).any()],1)

上面代码的输出:

    Names  Henry  Jesscia
0  Robert     54        5
1     Dan     22       55


以上是如何删除Pandas中包含零值的列?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>