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

如何在Titanic数据集按Pclass分组,筛选Fare高于均值的乘客并求最小Age

解决方案

你可以通过分组计算组内票价均值,再筛选出票价高于对应组均值的乘客,最后分组求最小年龄,具体代码如下:

import pandas as pd

# 读取数据集(假设你已完成数据加载,如 df = pd.read_csv('titanic.csv'))

# 1. 计算每个Pclass组的Fare均值,并用transform映射到每一行,实现逐行匹配组内均值
df['group_fare_mean'] = df.groupby('Pclass')['Fare'].transform('mean')

# 2. 筛选出Fare高于所在组均值的乘客数据
filtered_df = df[df['Fare'] > df['group_fare_mean']]

# 3. 按Pclass分组,提取符合条件乘客的最小Age
result = filtered_df.groupby('Pclass')['Age'].min()

print(result)

代码简化写法

如果想减少中间变量,也可以用链式操作一步完成:

result = df[df['Fare'] > df.groupby('Pclass')['Fare'].transform('mean')].groupby('Pclass')['Age'].min()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 16:26:25