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

Python数据框:

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

http://img1.mukewang.com/61d58d3c000132f704270483.jpg

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

http://img2.mukewang.com/61d58d460001cf9004030482.jpg

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


倚天杖
浏览 157回答 2
2回答

HUWWW

您可以使用merge. 它像 SQL 一样工作JOIN一个可能的代码是:df = pd.merge(left=movies_df, right=users_df, how='left',               left_on='userId', right_index=True)

牧羊人nacy

假设该系列按 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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python