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)
牧羊人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)
添加回答
举报
0/150
提交
取消