繁体   English   中英

pandas 对 groupby 的值进行排序

[英]pandas sort values of groupby

我有一组关于足球的数据:

数据集

我按照每个场地进行了多少场比赛对其进行排序:

fb2 = fb.groupby(by=['Ground'])['Ground'].count()
print(fb2)

Output:

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 很陌生……任何帮助将不胜感激!

如果你使用命名聚合,你可以指定一个列名来排序:

fb2 = (
  fb
  .groupby('Ground', as_index=False)
  .agg(n_matches=('Ground', 'count'))
  .sort_values('n_matches, ascending=False)
)

fb.groupby(by=['Ground'])['Ground'].count()的类型是Series,可以使用pandas.Series.sort_values()对其进行排序

fb.groupby(by=['Ground'])['Ground'].count().sort_values(ascending=False))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM