Pandas Результаты Groupby появляются на основе value_counts и возрастающих значений - PullRequest
0 голосов
/ 01 марта 2020
highest_medals_countries = olympics_merged.groupby(['Sport'])['Team'].value_counts()
highest_medals_countries.sort_values(ascending = False)[:10]

Выход : Спортивная команда

Athletics   United States    3202
            Great Britain    2240
Gymnastics  United States    1939
Swimming    United States    1622
Gymnastics  France           1576
Athletics   France           1494
Gymnastics  Italy            1345
Swimming    Great Britain    1291
Athletics   Germany          1254
Gymnastics  Hungary          1242

В приведенном выше выводе я складываю команды с наибольшим количеством медалей, основанных на спорте вместе, но когда я смотрю на результат, по которому идут спортивные состязания, основанный на значениях. Как я могу избавиться от этого и объединить страны для легкой атлетики, гимнастики, плавания и т. Д. c?

Ожидаемый результат:

 Sport       Team         
Athletics   United States    3202
            Great Britain    2240
            France           1494
Gymnastics  United States    1939
            France           1576
            Italy            1345
            Hungary          1242
Swimming    United States    1622  
            Great Britain    1291    
Athletics   Germany          1254

1 Ответ

0 голосов
/ 02 марта 2020

Запустив sort_values на вашем накопленном фрейме данных, вы заставляете его сортировать весь фрейм данных по значению, в то время как значения уже были отсортированы по категориям. Так что не беги highest_medals_countries.sort_values(ascending = False)[:10] и все нормально.

...