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

如何用Pandas按年龄分组获取最高平均评分的电影类型并排序?

解决方法

你已经通过分组得到了各年龄段-电影类型的平均评分,接下来可以通过以下步骤在保留age索引层级的前提下完成排序并提取最高评分类型:

1. 按年龄段分组内排序

使用groupby(level="age")锁定年龄段分组,对每组内的平均评分进行降序排序,保持原索引结构不变:

# 每组内按评分降序排序,保留age作为索引层级
sorted_genres = genre_group.groupby(level="age", group_keys=False).apply(lambda x: x.sort_values(ascending=False))

2. 提取各年龄段最高评分类型

如果只需要每个年龄段评分最高的类型,直接用nlargest更高效,同样保留原索引:

# 获取每个年龄段平均评分最高的1个电影类型
top_genre_per_age = genre_group.groupby(level="age", group_keys=False).nlargest(1)

3. 转换为DataFrame(可选)

如果需要更直观的表格形式,可将结果转为DataFrame:

top_genre_df = top_genre_per_age.reset_index(name="average_rating")

结果说明

  • sorted_genres:仍为MultiIndex Series,每个age下的genres按评分从高到低排列
  • top_genre_per_age:每个age仅保留评分最高的genres及其对应的平均评分
  • top_genre_df:结构化DataFrame,包含age、genres、average_rating三列

内容的提问来源于stack exchange,提问作者Yusuf Çil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:17:03