GroupBy を使用した同じ列上の複数の関数による集計
Python の pandas ライブラリでは、GroupBy.agg() 関数が便利な方法を提供します。グループ化されたデータに集計関数を適用します。ただし、同じ列に複数の関数を適用するのは難しい場合があることに注意してください。
最初は、次の構文を使用するのが直感的に見えるかもしれません:
df.groupby("dummy").agg({"returns": f1, "returns": f2})
ただし、このアプローチは次の理由により失敗します。 Python ではキーを複製することは禁止されています。代わりに、pandas はそのような集計を実行するためのメソッドをいくつか提供しています:
メソッド 1: 関数のリスト
関数はリストとして渡すことができます:
df.groupby("dummy").agg({"returns": [np.mean, np.sum]})
方法 2: の辞書関数
関数は、列名を表すキーと関数のリストを表す値を持つ辞書として渡すことができます。
df.groupby("dummy").agg({"returns": {"Mean": np.mean, "Sum": np.sum}})
方法 3: 最近の更新 (として2022-06-20 の)
パンダの最近のバージョンでは、次のとおりです。構文が推奨されます:
df.groupby('dummy').agg( Mean=('returns', np.mean), Sum=('returns', np.sum))
この構文はシームレスに動作するだけでなく、集計関数と列名の指定がより明確になり、柔軟性が高まります。
以上がpandas GroupBy を使用して複数の集計関数を同じ列に適用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。