Как извлечь 3 лучших результата из каждого ключа в DataFrame Python? - PullRequest
0 голосов
/ 18 апреля 2019

В настоящее время я анализирую набор данных и имею столбцы с именами «Жанр», «Актер» и «Рейтинг».

С Жанром в качестве основного ключа, как мне получить 3 лучших актера из каждого жанра?

Я пытался сначала отсортировать рейтинги сначала в порядке убывания, а затем впоследствии, взяв 3 лучших исполнителя. Тем не менее, это приводит к беспорядку при попытке разобрать его через


data1 = data.groupby(["genre0", "Actor0"])[["Rating"]].mean().sort_values("Rating", ascending=False)
data2 = data.groupby(["genre0", "Actor1"])[["Rating"]].mean().sort_values("Rating", ascending=False)
data3 = data.groupby(["genre0", "Actor2"])[["Rating"]].mean().sort_values("Rating", ascending=False)


allgenres = pd.concat([data1, data2, data3])

allgenres.groupby("genre0").head(3)

Выходные данные должны отражать:

(Жанр) - (имена актеров) - (Топ 3 номинальных актера)

1012 * Е.Г. *

Action - Actor A - 10
         Actor B - 9
         Actor C - 8

Animation - Actor D - 10
            Actor E - 9
            Actor F - 8

I do not wish to reset the index and keep the ordering as it is, but group the results together.

Мои результаты

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