Как добавить столбец (average_user_rating) в фрейм данных, который дает мне среднюю оценку для userId в этой строке? - PullRequest
0 голосов
/ 10 апреля 2019

фреймы данных Python:

Я получил фрейм данных с UserId, MovieId и рейтингом (длина 81116).

enter image description here

У меня также есть серия, которая имеет средний рейтинг каждого UserId (длина 610).

enter image description here Средний рейтинг просмотра серии

Как добавить столбец Average_user_rating к кадру данных, который дает мне среднюю оценку для идентификатора пользователя в этой строке?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

Вы можете использовать merge.Он работает как SQL JOIN

Возможный код будет:

df = pd.merge(left=movies_df, right=users_df, how='left', 
              left_on='userId', right_index=True)
0 голосов
/ 10 апреля 2019

Предположим, что серия находится в полумесяце UserId, вы можете сделать это, используя панд с чем-то вроде:

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)
...