首页 > 解决方案 > 如何将列(average_user_rating)添加到数据框中,为我提供该行中 userId 的平均评分?

问题描述

Python数据框:

我得到了一个包含 UserId、MovieId 和评级(长度为 81116)的数据框。

在此处输入图像描述

我还有一个系列,其中包含每个 UserId 的平均评分(长度为 610)。

在此处输入图像描述 平均评分系列视图

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

标签: pythonpandasdataframeseries

解决方案


假设该系列按 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)

推荐阅读