複数の列でグループ化して平均を計算する
Pandas では、複数レベルのグループ化と集計を実行して、複雑な統計を計算できます。一般的なタスクの 1 つは、他の複数の列で定義されたグループ内の列の平均を計算することです。
次の DataFrame について考えてみましょう。
cluster org time
1 a 8
1 a 6
2 h 34
1 c 23
2 d 74
3 w 6
ログイン後にコピー
各クラスタ内の組織ごとの時間の平均を計算するには、クラスターと組織の両方で DataFrame をグループ化できます:
df.groupby(['cluster', 'org'], as_index=False).mean()
ログイン後にコピー
これにより、クラスターと組織でグループ化された DataFrame が生成されます。各グループに対して計算された時間の平均:
cluster org time
0 1 a 12.333333
1 1 c 23.0
2 2 h 34.0
3 2 d 74.0
4 3 w 6.0
ログイン後にコピー
各クラスター内の時間の平均だけが必要な場合は、クラスターのみでグループ化できます:
df.groupby('cluster').mean()
ログイン後にコピー
これにより、DataFrame が生成されます各クラスターに対して計算された時間の平均を使用します:
cluster time
0 1 12.333333
1 2 54.0
2 3 6.0
ログイン後にコピー
または、複数列の組み合わせに対して groupby メソッドを使用することもできます。 ['cluster', 'org'] そして時間の平均を計算します:
df.groupby(['cluster', 'org']).mean()['time']
ログイン後にコピー
これにより、クラスターと組織の組み合わせごとに計算された時間の平均を持つシリーズが生成されます。
以上がPandas で複数のグループ内の平均値を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。