如何删除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