Python 数据分析:使用柱状图统计不同年龄段的套餐销量
假设有一个订单 Excel 表名为 'order.xlsx',其中包含用户 id、用户年龄、套餐名称等信息。我们将用户年龄段划分为:18以下、18-35、35以上,使用 Python 代码统计该年龄段的套餐销量并用柱状图展示出来。
数据示例:
| 用户id | 用户年龄 | 套餐名称 | | ------ | -------- | -------- | | 1 | 20 | 'A套餐' | | 2 | 40 | 'B套餐' | | 3 | 25 | 'C套餐' | | 4 | 30 | 'A套餐' | | 5 | 50 | 'B套餐' | | 6 | 15 | 'A套餐' | | 7 | 28 | 'C套餐' | | 8 | 38 | 'B套餐' | | 9 | 22 | 'A套餐' | | 10 | 42 | 'C套餐' |
Python 代码:
import pandas as pd
import matplotlib.pyplot as plt
# 读取 Excel 文件
df = pd.read_excel('order.xlsx')
# 划分年龄段
df['年龄段'] = pd.cut(df['用户年龄'], [0, 18, 35, float('inf')], labels=['18以下', '18-35', '35以上'])
# 统计套餐销量
sales = df.groupby(['年龄段', '套餐名称'])['用户id'].count()
# 绘制柱状图
sales.unstack().plot(kind='bar')
plt.show()
运行以上代码,会得到一个柱状图,展示不同年龄段的套餐销量。
柱状图示例:
[图片说明:此处应插入生成的柱状图图片,展示不同年龄段的套餐销量。]
代码解释:
- 使用
pandas库读取 Excel 文件order.xlsx,并将其存储到 DataFramedf中。 - 使用
pd.cut()函数将用户年龄列划分成三个年龄段,并将结果存储到新列年龄段中。 - 使用
groupby()函数对年龄段和套餐名称进行分组,并使用count()函数统计每个组的用户 id 数量,即套餐销量。 - 使用
unstack()函数将分组后的结果转换为多级索引,便于绘制柱状图。 - 使用
plot()函数绘制柱状图,并使用plt.show()显示图形。
总结:
本文使用 Python 代码对订单数据进行分析,将用户年龄段划分为不同的组别,并统计每个年龄段不同套餐的销量。通过柱状图的展示,可以直观地了解不同年龄段用户对不同套餐的购买偏好。
原文地址: https://www.cveoy.top/t/topic/omfd 著作权归作者所有。请勿转载和采集!