为了账号安全,请及时绑定邮箱和手机立即绑定

如何向数据框中添加一列,以便为我提供该行中 userId 的平均评分?

如何向数据框中添加一列,以便为我提供该行中 userId 的平均评分?

倚天杖 2022-01-05 20:20:50
Python数据框:我得到了一个带有 UserId、MovieId 和评级(长度为 81116)的数据框。我还有一个系列,其中包含每个 UserId 的平均评分(长度为 610)。如何向数据框中添加一列average_user_rating 以提供该行中userId 的平均评分?
查看完整描述

2 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

您可以使用merge. 它像 SQL 一样工作JOIN


一个可能的代码是:


df = pd.merge(left=movies_df, right=users_df, how='left', 

              left_on='userId', right_index=True)


查看完整回答
反对 回复 2022-01-05
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

假设该系列按 UserId 的新月顺序排列,您可以使用 Pandas 执行以下操作:


df["average_user_rating"] = df["UserId"].apply(lambda x: s[x-1])


您可以测试:


s = pd.Series([10,20])

df = pd.DataFrame([[1,5],[1,15],[2,10],[2,30]], columns = ["UserId", "Rating"])

print (s)

print (df)

df["average_user_rating"] = df["UserId"].apply(lambda x: s[x-1])

print(df)


查看完整回答
反对 回复 2022-01-05
  • 2 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信