Наука о питоне Найти фильмы с самыми высокими женскими рейтингами - PullRequest
0 голосов
/ 24 сентября 2018

Я работаю над заданием для моего класса Data Science.Мне просто нужна помощь, чтобы начать, так как у меня возникают проблемы с пониманием того, как использовать панд для группировки и выбора значений DISTINCT.

Мне нужно найти фильмы с HIGHEST RATINGS по FEMALES , мой код возвращает мне фильмы с ratings = 5 и gender = 'F', но он также повторяет один и тот же фильм снова и снова, так как есть более 1 пользователя.Я не уверен, как просто показать фильм, количество 5-звездочных оценок и пол = F. ниже мой код:

import pandas as pd
import os
m = pd.read_csv('movies.csv')
u = pd.read_csv('users.csv')
r = pd.read_csv('ratings.csv')

ur = pd.merge(u,r)
data = pd.merge(m,ur)

df = pd.DataFrame(data)

top10 = df.loc[(df.gender == 'F')&(df.rating == 5)]
print(top10)

файлы данных можно загрузить здесь

Мне просто нужна некоторая помощь, чтобы начать, есть много больше домашней работы, но как только я это выясню, я могу сделать все остальное.Просто нужно начать.большое спасибо

mv_id title жанров рейтинг user_id пол

1       Toy Story (1995)   Animation|Children's|Comedy  5   1   F    
2       Jumanji (1995)     Adventure|Children's|Fantasy 5   2   F        
3       Grumpier Old Men (1995) Comedy|Romance          5   3   F            
4       Waiting to Exhale (1995)    Comedy|Drama        5   4   F        
5       Father of the Bride Part II (1995)  Comedy      5   5   F   

1 Ответ

0 голосов
/ 24 сентября 2018

Я бы попытался выполнить операцию фильтрации на как можно меньшем количестве данных.Чтобы выбрать 5-звездочные рейтинги пользователей женского пола, метаданные фильма не нужны (movies.csv).Это можно сделать на данных ur, что проще, чем на df.

# filter the data in `ur`
f_5s_ratings = ur.loc[(ur.gender == 'F')&(ur.rating == 5)]

# count rows per `movie_id`
abs_num_f_5s_ratings = f_5s_ratings.groupby("movie_id").size()

В abs_num_f_5s_ratings теперь у вас есть DataFrame, подсчитывающая общее количество 5-звездных оценок по женщинеколичество пользователей за movie_id:

movie_id
1       253
2        15
3        14
...

Если вы объедините эти данные на ключе movie_id с m в качестве нового столбца (я оставлю это вам в качестве упражнения), вы можете затем отсортировать поэто значение, чтобы получить 10 лучших фильмов с абсолютным количеством 5-звездочных рейтингов по женщинам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...