fre*_*021 2 python dataframe python-3.x pandas
我只想保留非零列
df:
Names Henry Adam Rachel Jug Jesscia
Robert 54 0 0 6 5
Dan 22 31 0 0 55
Run Code Online (Sandbox Code Playgroud)
预期输出:
Names Henry Jesscia
Robert 54 5
Dan 22 55
Run Code Online (Sandbox Code Playgroud)
df.loc[:, (df != 0).any(axis=0)]
did not remove the columns with only one zero value
Run Code Online (Sandbox Code Playgroud)
尝试:
df.loc[:,~df.eq(0).any()]
Run Code Online (Sandbox Code Playgroud)
或者
正如所建议的 @sammywemmy
df.loc[:, df.ne(0).all()]
Run Code Online (Sandbox Code Playgroud)
其他可能的解决方案:
df.mask(df.eq(0)).dropna(axis=1)
#OR
df.drop(df.columns[df.eq(0).any()],1)
Run Code Online (Sandbox Code Playgroud)
上面代码的输出:
Names Henry Jesscia
0 Robert 54 5
1 Dan 22 55
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |