ホームページ >バックエンド開発 >Python チュートリアル >Pandas GroupBy を使用して Python でグループごとの統計を計算するにはどうすればよいですか?

Pandas GroupBy を使用して Python でグループごとの統計を計算するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-21 21:18:04835ブラウズ

How Can Pandas GroupBy Be Used to Calculate Group-Wise Statistics in Python?

Pandas GroupBy を使用したグループごとの統計の計算

はじめに

データを扱うとき、多くの場合、異なるグループ間の統計を分析して比較することが望ましいです。データ操作用の著名な Python ライブラリである Pandas は、これらの操作を簡単に実行するための GroupBy 機能を提供します。

グループごとの行数の取得

各グループの行数を取得する最も簡単な方法は、 .size() メソッド。このメソッドは、グループごとのカウントを含む Series を返します:

df.groupby(['col1','col2']).size()

カウントを表形式 (つまり、「counts」列を持つ DataFrame として) で取得するには:

df.groupby(['col1', 'col2']).size().reset_index(name='counts')

複数のグループごとの統計の計算

複数の統計を計算するには、.agg() メソッドを使用します。辞書。キーは計算する列を指定し、値は必要な集計 (例: 'mean'、'median'、'count') のリストです。

df.groupby(['col1', 'col2']).agg({
    'col3': ['mean', 'count'],
    'col4': ['median', 'min', 'count']
})

データ出力のカスタマイズ

出力をさらに制御するには、個々の集計を結合できます。

counts = df.groupby(['col1', 'col2']).size().to_frame(name='counts')
counts.join(gb.agg({'col3': 'mean'}).rename(columns={'col3': 'col3_mean'})) \
    .join(gb.agg({'col4': 'median'}).rename(columns={'col4': 'col4_median'})) \
    .join(gb.agg({'col4': 'min'}).rename(columns={'col4': 'col4_min'})) \
    .reset_index()

これにより、次の結果が生成されます。ネストされていない列ラベルを持つ、より構造化された DataFrame。

脚注

この例では、Null 値により、さまざまな計算に使用される行数に不一致が生じる可能性があります。これは、グループごとの統計を解釈するときに null 値を考慮することの重要性を強調しています。

以上がPandas GroupBy を使用して Python でグループごとの統計を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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