ホームページ >バックエンド開発 >Python チュートリアル >Pandas で GroupBy と集計を使用してグループ内で結果を並べ替える方法

Pandas で GroupBy と集計を使用してグループ内で結果を並べ替える方法

DDD
DDDオリジナル
2024-10-20 17:22:31429ブラウズ

How to Sort Results within Groups Using GroupBy and Aggregation in Pandas?

pandas groupby とグループ内での並べ替え

groupby 集計の結果を並べ替えたいのは一般的なタスクです。この例では、「job」と「source」の 2 つの列と、グループ化して並べ替える「count」列を含む DataFrame があります。

これを行うには、groupby を使用できます。 () メソッドを使用して、DataFrame を「job」列と「source」列でグループ化します。次に、agg() メソッドを使用して「count」列を集計します。この場合は sum 関数を使用します。

In [168]: df.groupby(['job','source']).agg({'count':sum})

Out[168]:
               count
job    source       
market A           5
       B           3
       C           2
       D           4
       E           1
sales  A           2
       B           4
       C           6
       D           3
       E           7

これにより、グループ化された結果を含む新しい DataFrame が得られます。次に、sort_values() メソッドを使用して、各グループ内で「count」列を降順に並べ替えます。

In [34]: df.sort_values(['job','count'],ascending=False).groupby('job').head(3)

Out[35]: 
   count     job source
4      7   sales      E
2      6   sales      C
1      4   sales      B
5      5  market      A
8      4  market      D
6      3  market      B

これにより、各グループの上位 3 つの結果を含む新しい DataFrame が得られます。

以上がPandas で GroupBy と集計を使用してグループ内で結果を並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。