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

如何调整泰坦尼克号生存率分析柱状图的X轴至自定义年龄区间

解决方案:泰坦尼克号数据按自定义年龄区间分组绘制生存率柱状图

嘿,我来帮你搞定这个自定义年龄区间的分组绘图需求!你需要用pandas的pd.cut()函数把连续的年龄值划分成你想要的离散区间,之后再按这个区间分组计算生存率就可以了。

完整修改后的代码

import pandas as pd
import matplotlib.pyplot as plt

# 读取训练数据
df_train = pd.read_csv('../input/titanic/train.csv')

# 定义自定义年龄区间和对应的标签
age_bins = [0, 20, 40, 60, 80]
age_labels = ['20岁以下', '20-40岁', '40-60岁', '60-80岁']

# 给数据添加新的年龄区间列
df_train['Age_Group'] = pd.cut(df_train['Age'], bins=age_bins, labels=age_labels, right=False)

# 按年龄区间分组计算平均生存率,然后绘制柱状图
df_train.groupby('Age_Group')['Survived'].mean().plot.bar(rot=0, title='不同年龄区间的生存率', edgecolor="k")
plt.ylabel('生存率')
plt.show()

关键步骤解释

  • pd.cut()的作用:这个函数专门用来把连续数值切分成离散区间。这里设置right=False,表示区间是左闭右开的(比如[0,20)对应“20岁以下”,刚好契合你的需求)。
  • 自定义区间与标签:age_bins定义了区间的分界点,age_labels是每个区间对应的显示名称,这样X轴就会显示你想要的文字标签,而非生硬的数值区间。
  • 分组绘图:用新生成的Age_Group列分组,计算每个区间的平均生存率,之后调用plot.bar()绘制柱状图,rot=0能让X轴标签保持水平,避免重叠。

这样修改后,你就能得到X轴为自定义年龄区间、Y轴为对应生存率的柱状图啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 08:42:43