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

Python实现按分组汇总价格总和的直方图绘制需求

按分组求和绘制可视化图表的实现思路

核心思路分两步:先对数据按profile_bucket分组计算price的总和,再基于求和结果绘制图表(这里更适合用条形图,因为x轴是离散类别,直方图本质是展示连续数值的分布,用在离散类别场景不够贴合)。

步骤1:数据分组求和

用Pandas可以快速完成分组聚合操作:

import pandas as pd

# 示例数据(实际可通过pd.read_csv从文件读取,注意设置对应分隔符)
df = pd.DataFrame({
    'profile_bucket': ['a', 'b', 'c', 'a', 'c'],
    'price': [10, 15, 5, 7, 20]
})

# 按profile_bucket分组,计算price的总和
sum_price = df.groupby('profile_bucket')['price'].sum().reset_index()

执行后sum_price会得到每个分组的总价:

profile_bucketprice
a17
b15
c25

步骤2:绘制可视化图表

用Matplotlib绘制条形图

import matplotlib.pyplot as plt

plt.bar(sum_price['profile_bucket'], sum_price['price'])
plt.xlabel('Profile Bucket')
plt.ylabel('Total Price')
plt.title('Total Price per Profile Bucket')
plt.show()

用Seaborn绘制(更简洁)

如果用Seaborn,甚至可以直接基于原始数据绘制,无需提前分组:

import seaborn as sns

sns.barplot(x='profile_bucket', y='price', data=df, estimator=sum)
plt.xlabel('Profile Bucket')
plt.ylabel('Total Price')
plt.title('Total Price per Profile Bucket')
plt.show()

补充说明

如果一定要用“直方图”的说法,上述条形图的呈现效果已经能满足你展示分组总价的需求,只是从图表定义来说,离散类别的聚合值用条形图更规范。

内容的提问来源于stack exchange,提问作者lincolnab

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 01:25:23