如何创建年龄区间与百分比对应的柱状图?
年龄vs百分比柱状图制作指导
你当前的代码生成的是各年龄组的用户计数柱状图,要改成目标的百分比柱状图,只需要在统计后计算占比,再调整绘图设置即可,具体步骤如下:
步骤1:计算各年龄组的用户百分比
先统计各年龄的用户数量,再除以总用户数得到对应百分比:
# 导入依赖库 import pandas as pd import matplotlib.pyplot as plt # 加载CSV数据 netflix_df = pd.read_csv('./input/Netflix_Userbase.csv') # 统计各年龄组用户数 age_count = netflix_df.groupby("Age")["Age"].count() # 计算各年龄组占总用户的百分比 age_percent = (age_count / age_count.sum()) * 100
步骤2:绘制百分比柱状图
用计算好的百分比数据绘图,并调整图表样式匹配目标效果:
# 绘制百分比柱状图 age_percent.plot(kind='bar', color='#E50914') # 可选:用Netflix红色匹配风格 # 设置图表标签与标题 plt.title('用户年龄分布(百分比)') plt.xlabel('年龄') plt.ylabel('用户占比 (%)') # 在柱子上方显示具体百分比数值(可选优化) for i, v in enumerate(age_percent): plt.text(i, v + 0.3, f'{v:.1f}%', ha='center') plt.tight_layout() plt.show()
关键说明
age_count.sum()用于获取总用户数,通过除法得到各年龄组的占比,乘以100转为百分比格式- 柱子上方的数值标签可以让数据更直观,
f'{v:.1f}%'控制百分比保留一位小数 - 调整颜色、标题等样式可以让图表更贴近目标效果
内容的提问来源于stack exchange,提问作者Jennifer Grubb
相关产品推荐
相关产品推荐

