Python數(shù)據(jù)框:我得到了一個帶有 UserId、MovieId 和評級(長度為 81116)的數(shù)據(jù)框。我還有一個系列,其中包含每個 UserId 的平均評分(長度為 610)。如何向數(shù)據(jù)框中添加一列average_user_rating 以提供該行中userId 的平均評分?
2 回答

HUWWW
TA貢獻(xiàn)1874條經(jīng)驗 獲得超12個贊
您可以使用merge. 它像 SQL 一樣工作JOIN
一個可能的代碼是:
df = pd.merge(left=movies_df, right=users_df, how='left',
left_on='userId', right_index=True)

牧羊人nacy
TA貢獻(xiàn)1862條經(jīng)驗 獲得超7個贊
假設(shè)該系列按 UserId 的新月順序排列,您可以使用 Pandas 執(zhí)行以下操作:
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
提交
取消