可以使用any()方法和布尔索引来实现去除全为0的列。具体操作如下:

import pandas as pd

# 创建测试数据
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [0, 0, 0, 0], 'C': [0, 4, 0, 1], 'D': [0, 0, 0, 0]})
print(df)

# 去除全为0的列
df = df.loc[:, (df != 0).any(axis=0)]
print(df)

输出结果:

   A  B  C  D
0  1  0  0  0
1  2  0  4  0
2  3  0  0  0
3  4  0  1  0

   A  C
0  1  0
1  2  4
2  3  0
3  4  1

其中,any(axis=0)表示按列计算,如果该列中有任意一个元素不为0,则返回True,否则返回False。最终选取所有返回True的列,即去除了全为0的列。

如何用pandas去除全为0的列

原文地址: https://www.cveoy.top/t/topic/bcwe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录