#python #pandas #sorting #pandas-groupby
Вопрос:
У меня есть набор данных о футболе:
Я отсортировал его по количеству матчей, сыгранных на каждой площадке:
fb2 = fb.groupby(by=['Ground'])['Ground'].count()
print(fb2)
Выход:
Ground
Aberdeen 11
Abu Dhabi 37
Adelaide 82
Ahmedabad 24
Albion 5
..
Vijayawada 1
Visakhapatnam 11
Wellington 56
Whangarei 1
Worcester 3
Name: Ground, Length: 173, dtype: int64
Теперь я хочу отсортировать результаты в порядке убывания количества сыгранных матчей на каждой площадке.
Я очень новичок в python…любая помощь будет очень признательна!
Ответ №1:
Если вы используете именованную агрегацию, вы можете указать имя столбца для сортировки:
fb2 = (
fb
.groupby('Ground', as_index=False)
.agg(n_matches=('Ground', 'count'))
.sort_values('n_matches, ascending=False)
)
Комментарии:
1. Это именно то, что я искал, спасибо!!
Ответ №2:
Тип fb.groupby(by=['Ground'])['Ground'].count()
серии is, вы можете отсортировать ее с помощью панд.Серия.значения сортировки()
fb.groupby(by=['Ground'])['Ground'].count().sort_values(ascending=False))