我正在使用包含400列的大型数据集,其中一些列的所有值都为零,而其他列的全部为零且“999999999”为零。我想摆脱这样的专栏。我能够为仅包含零的列执行此操作但不确定为包含零的列和'999999999'
执行此操作以下是删除零的代码 -
df = df.loc[:, (df != 0).any(axis=0)]
我知道这很简单。但是,如果有人能够帮助我完成下一个非常棒的部分。谢谢
答案 0 :(得分:3)
您可以使用.isin()
来调整多个值:
df = df.loc[:, (~df.isin([0, 99999999])).any(axis=0)]
答案 1 :(得分:1)
这应该有效:
df = df.loc[:, ((df != 0) & (df != 999999999)).any(axis=0)]
示例:
>>> df
a b c
0 0 0 1
1 0 0 0
2 999999999 0 5
>>> df.loc[:, ((df != 0) & (df != 999999999)).any(axis=0)]
c
0 1
1 0
2 5