You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python统计DataFrame各列equal值数量并绘制柱状图

实现方法

整体实现分两步:先逐列统计取值为equal的单元格总数,再基于统计结果绘制柱状图,空字符串、not equal、空值等非equal取值都会自动被排除,不会计入统计。

完整可运行代码

先导入需要的依赖,假设你的原始DataFrame变量名为df:

import pandas as pd
import matplotlib.pyplot as plt

# --- 可选:如果单元格存在前后多余空格,先执行这一步去空格,避免漏统
# df = df.applymap(lambda x: x.strip() if isinstance(x, str) else x)

# 1. 逐列统计"equal"的数量
equal_count = df.eq("equal").sum()

# 2. 绘制柱状图
plt.figure(figsize=(10, 6))  # 列数多的话可以把宽度值(第一个参数)调大
equal_count.plot(kind='bar', color='#4c72b0')

# 添加图表标注
plt.xlabel('DataFrame列名', fontsize=12)
plt.ylabel('"equal"值计数', fontsize=12)
plt.title('各列"equal"取值数量统计', fontsize=14)
plt.xticks(rotation=45, ha='right')  # x轴标签旋转45度,避免长列名重叠
plt.tight_layout()  # 自动调整画布边距,防止标签被截断

# 显示图表
plt.show()

代码逻辑说明

  • df.eq("equal")会逐元素匹配单元格值是否严格等于equal,返回和原表形状一致的布尔型结果:True代表匹配成功,False代表是其他取值
  • 链式调用.sum()默认按列对布尔值求和,其中True记为1、False记为0,最终得到的equal_count是一个Series:索引为原DataFrame的所有列名(对应柱状图x轴),值为对应列equal的总个数(对应柱状图y轴),直接满足绘图的数据要求
  • 运行后会弹出matplotlib的绘图窗口,展示最终的柱状图效果。

内容的提问来源于stack exchange,提问作者ysmnrn.csv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 17:27:41