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

如何使用Pandas计算DataFrame中各电影类型对应的平均评分

实现方案

你可以直接使用以下两种方案完成批量计算:

方案1:apply遍历实现(逻辑直观,易调试)

适合数据量不大的场景,逻辑和你之前单类型计算的逻辑完全一致:

# 提取所有类型对应的列名
genre_cols = ["action", "comedy", "drama"]
# 逐列遍历,筛选对应类型为1的样本计算评分均值
genre_avg = df1[genre_cols].apply(lambda col: df1[col == 1]["rating"].mean())
# 转换为你需要的单行DataFrame输出格式
result = genre_avg.to_frame().T

输出结果和你预期的结构完全匹配:

actioncomedydrama
4.04.03.5

方案2:矩阵运算实现(大数据量下效率更高)

利用类型列是0/1值的特性,跳过逐行筛选步骤,直接通过矩阵运算批量计算:

genre_cols = ["action", "comedy", "drama"]
# 类型矩阵转置和评分列相乘得到各类型总评分,除以各类型样本数得到均值
genre_avg = (df1[genre_cols].T @ df1["rating"]) / df1[genre_cols].sum()
result = genre_avg.to_frame().T

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:06:03