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

如何在Netflix DataFrame中添加duration列并统计各用户观看总时长

Netflix用户观看时长分组统计实现方案

前置说明

Netflix导出的观看记录里,DURATION列默认是时:分:秒格式的字符串,不支持直接求和计算,必须先转换为可运算的时间类型。

pd.to_timedelta()是pandas提供的时长转换函数,作用是把符合时间长度格式的字符串、数值转换为Timedelta时间差类型,转换后的值可以直接做加减、求和等算术运算。遇到格式不合法的脏数据时,加errors='coerce'参数会自动把异常值转为空值,不会中断代码运行。


分步实现

  • 第一步:导入pandas库
import pandas as pd
  • 第二步:加载你的Netflix数据集
# 替换成你本地的Netflix数据文件路径
df = pd.read_csv("your_netflix_data.csv")
# 可选:执行df.head()查看前几行数据,确认字段名、DURATION列格式是否匹配
  • 第三步:转换DURATION列为可计算格式
# 转换后的时长列存为新列cal_duration,避免修改原始数据
df["cal_duration"] = pd.to_timedelta(df["DURATION"], errors="coerce")
  • 第四步:按Profile Name分组统计总观看时长
user_watch_total = df.groupby("Profile Name", as_index=False)["cal_duration"].sum()
  • 第五步:提取观看时长最高的用户
# 按总时长降序排序,取第一条结果即为时长最高的用户
top_user = user_watch_total.sort_values("cal_duration", ascending=False).iloc[0]

# 打印结果
print(f"观看时长最高用户:{top_user['Profile Name']}")
print(f"累计观看时长:{top_user['cal_duration']}")

常用扩展

如果后续需要做可视化、数值对比,可以把时间差类型转成以小时为单位的浮点数:

# 新增总观看小时列
user_watch_total["total_watch_hours"] = user_watch_total["cal_duration"].dt.total_seconds() / 3600

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 16:42:53