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

如何使用pandas获取电影数据集中各年度的TOP3热门电影类型

Pandas分组取每组TopN记录的实现方法

实现代码

假设你的原始数据集存储在名为df的DataFrame中,直接运行以下代码即可得到预期结果:

import pandas as pd

# 按年份分组后取每组计数Top3的类型
top3_genre_per_year = df.groupby('year', group_keys=False)\
                        .apply(lambda group: group.nlargest(3, 'imdb_title_id', keep='first'))\
                        .reset_index(drop=True)

常见错误说明

你之前直接调用nlargest没有得到正确结果,大概率是没有搭配分组逻辑,直接对全表执行了nlargest,这样取的是全数据集计数最高的3条记录,而非每个年份的Top3。

参数说明

  • groupby('year', group_keys=False):按照年份字段对数据分组,group_keys=False避免结果额外生成分组索引层级
  • group.nlargest(3, 'imdb_title_id', keep='first'):对每个分组内的子表,按imdb_title_id字段降序排列,取前3条,数值相同的情况下保留原表中排序靠前的记录,完全匹配你的需求
  • reset_index(drop=True):重置结果的行索引,和你给出的预期输出格式对齐

内容的提问来源于stack exchange,提问作者Ayush Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:54:06