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

Pandas处理编剧列拆分与单编剧平均收视率计算问题

处理电视剧DataFrame的编剧数据与平均收视率计算

1. 清洗编剧列空格并去重单集内重复编剧

你已经用str.split('|', expand=False)完成了字符串拆分,但每个编剧名带前后空格,还可能存在单集内重复编剧的情况,用apply配合列表推导式就能搞定清洗:

# 去除每个编剧名的前后空格,同时去重单集内的重复编剧
df["Writers"] = df["Writers"].apply(lambda x: list(set([name.strip() for name in x])))

2. 拆分数据并计算每位编剧的平均收视率

要计算平均收视率,得先把每个编剧和对应剧集的收视率一一对应,用explode把列表拆成单行数据,再分组计算均值:

# 将编剧列表拆分为单行数据,每个编剧对应一行剧集记录
exploded_df = df.explode("Writers")

# 按编剧分组计算平均收视率,保留两位小数
writer_avg_view = exploded_df.groupby("Writers")["Viewership"].mean().round(2)

3. 转换为指定输出格式

最后把计算结果转换成你需要的列表格式:

result = [f"{writer} : {viewership}" for writer, viewership in writer_avg_view.items()]

得到的result就是类似["John Doe : 15", "Jennifer Hopkins : 7.54"]的格式,同时writer_avg_view.index.tolist()就能拿到去重后的所有编剧列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:30:46