ホームページ >バックエンド開発 >Python チュートリアル >Pandas GroupBy を使用して Python でグループごとの統計を計算するにはどうすればよいですか?
データを扱うとき、多くの場合、異なるグループ間の統計を分析して比較することが望ましいです。データ操作用の著名な 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 サイトの他の関連記事を参照してください。