Python Pandas:如何输出数据框中所有值均为0的列
如何获取Pandas DataFrame中所有值全为0的列名列表
直接用Pandas的矢量化操作就能高效实现,不用手动迭代列,步骤如下:
核心代码
在你加载完数据后,添加这两行代码:
# 生成每列是否全为0的布尔掩码 all_zero_mask = data.eq(0).all(axis=0) # 提取全0列的列名并转为列表 all_zero_columns = all_zero_mask[all_zero_mask].index.tolist() # 打印结果查看 print("所有值全为0的列:", all_zero_columns)
代码解释
data.eq(0):生成一个和原DataFrame结构一致的布尔DataFrame,每个元素对应原数据是否等于0。.all(axis=0):按列进行判断,只有当该列所有元素都为True(即全是0)时,返回True,否则返回False。all_zero_mask[all_zero_mask]:通过布尔索引筛选出标记为True的列,再用.index.tolist()把列名转为列表格式,方便后续操作。
完整示例(结合你的加载代码)
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline sns.set(color_codes = True) pd.set_option('display.max_columns', None) # Load loan.csv data = pd.read_csv('loan.csv', keep_default_na=False) # 获取全0列名列表 all_zero_mask = data.eq(0).all(axis=0) all_zero_columns = all_zero_mask[all_zero_mask].index.tolist() print(all_zero_columns)
内容的提问来源于stack exchange,提问作者Rebooting
相关产品推荐
相关产品推荐

