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

Pandas分组排序问题:获取各Netflix用户最长观看影片

Netflix用户观看时长分析解决方案

1. 计算用户-影片的总观看时长

先按用户和影片维度分组,统计每部影片的累计观看时长,并转为结构化DataFrame方便后续处理:

# 统计每个用户观看各影片的总时长,重置索引转为常规DataFrame
user_title_total = df_clean.groupby(['Profile Name', 'title_clean'])['Duration'].sum().reset_index()

2. 提取每个用户的最长观看时长条目

提供两种简洁的实现方式:

方式一:用idxmax()定位最大值行

通过分组找到每个用户组内时长最长的行索引,再提取对应数据:

# 获取每个用户组内时长最长的行索引
max_duration_idx = user_title_total.groupby('Profile Name')['Duration'].idxmax()
# 提取最终结果
user_top_watch = user_title_total.loc[max_duration_idx]

方式二:排序后去重

先按用户升序、时长降序排序,再保留每个用户的第一条数据(即最长时长条目):

# 按用户分组、时长降序排序,去重保留每个用户的最长观看记录
user_top_watch = user_title_total.sort_values(
    by=['Profile Name', 'Duration'],
    ascending=[True, False]
).drop_duplicates(subset='Profile Name')

结果展示

基于你提供的样例数据,运行后会得到:

Profile NameDurationtitle_clean
AAA0 days 00:41:50The Sinner
BBB0 days 00:00:15Avatar

原代码问题说明

你之前的代码在分组求和后直接全局排序取最大1条,只会返回所有用户-影片组合中时长最高的单个结果,而非每个用户各自的最长观看条目。

内容的提问来源于stack exchange,提问作者Jakub Gabrych

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:35:20