如何用pandas去除全为0的列
可以使用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的列。
原文地址: https://www.cveoy.top/t/topic/bcwe 著作权归作者所有。请勿转载和采集!