У меня есть этот фрейм данных. Я выбрал трех случайных пользователей из моих данных. Я хочу выбрать общие фильмы между этими выбранными пользователями в моем фрейме данных.
df
userId movieId ratings
0 1 500 3.5
1 1 600 4.5
2 1 700 2.0
3 1 800 4.0
4 2 500 3.5
5 2 600 4.5
6 2 9400 2.0
7 3 800 4.0
8 3 600 2.0
9 3 500 4.0
Ожидаемый результат:
userId movieId ratings
0 1 500 3.5
1 2 500 3.5
2 3 500 4.0
3 1 600 4.5
4 2 600 4.5
5 3 600 2.0
На самом деле, у меня есть такой подход к этой проблеме. Но я был бы признателен, кто-то придерживается другого подхода.
def usersToMovies(rand_users):
df1 = df.groupby('movieId')['userId'].apply(list).reset_index(name='users')
# Check for rand_users in each list of users and filter rows.