Python数据框:
我得到了一个带有UserId,MovieId和等级(长度81116)的数据框。
我还有一个系列,具有每个UserId(长度610)的平均评分。
如何在数据框中添加一列average_user_rating,为该行中的userId提供平均评分?
答案 0 :(得分:0)
假设该系列按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)
答案 1 :(得分:0)
您可以使用merge
。
它就像SQL JOIN
可能的代码是:
df = pd.merge(left=movies_df, right=users_df, how='left',
left_on='userId', right_index=True)