首页 > 解决方案 > Groupby 并在 groupby 结果中选择最大行

问题描述

是否可以在 Python/Pandas 中对每个 groupby 结果中的结果进行分组和排序?

试图在下面给定的数据中找到每年的顶级流派。使用 groupby 和 sort 进行了很多尝试,但没有运气。

Input::

release_year    Genere      Count

1997            Action      46
1997            Adventure   7
1997            Animation   2
1997            Children's  12
1997            Comedy      73
1997            Crime       22
1997            Documentary 6
1997            Drama       81
1997            Horror      6
1997            Mystery     5
1997            Romance     15
1997            Sci-Fi      1
1997            Thriller    9
1997            War         1

1998            Action      12
1998            Adventure   2
1998            Comedy      24
1998            Crime       6
1998            Documentary 2
1998            Drama       21
1998            Film-Noir   2
1998            Horror      3
1998            Romance     4
1998            Thriller    1


Expected Output:

release_year    Genere      Count
1997            Drama       81
1998            Comedy      24

标签: python-3.xdataframepandas-groupby

解决方案


尝试:

df=df.sort_values("Count", ascending=False)

df.groupby("release_year").first()

输出:

              Genere  Count
release_year
1997           Drama     81
1998          Comedy     24

推荐阅读