Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengira Nilai Purata Dalam Berbilang Kumpulan dalam Panda?

Bagaimana untuk Mengira Nilai Purata Dalam Berbilang Kumpulan dalam Panda?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-14 12:49:01534semak imbas

How to Calculate Average Values Within Multiple Groups in Pandas?

Kumpulkan Mengikut Berbilang Lajur dan Kira Purata

Dalam Panda, anda boleh melakukan pengumpulan dan pengagregatan berbilang peringkat untuk mengira statistik yang kompleks. Satu tugas biasa ialah mengira purata lajur dalam kumpulan yang ditakrifkan oleh berbilang lajur lain.

Pertimbangkan DataFrame berikut:

cluster  org      time
1      a       8
1      a       6
2      h       34
1      c       23
2      d       74
3      w       6 

Untuk mengira purata masa setiap org dalam setiap kelompok , anda boleh mengumpulkan DataFrame mengikut kluster dan org:

df.groupby(['cluster', 'org'], as_index=False).mean()

Ini akan menghasilkan DataFrame yang dikumpulkan mengikut kluster dan org, dengan purata masa dikira untuk setiap kumpulan:

  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

Jika anda hanya mahukan min masa dalam setiap kluster, anda boleh mengumpulkan hanya mengikut kluster:

df.groupby('cluster').mean()

Ini akan menghasilkan DataFrame dengan purata masa yang dikira untuk setiap kluster:

  cluster  time
0       1   12.333333
1       2   54.0
2       3    6.0

Sebagai alternatif, anda boleh menggunakan kaedah berkumpulan pada gabungan berbilang lajur ['cluster', 'org'] dan kemudian mengira min masa:

df.groupby(['cluster', 'org']).mean()['time']

Ini akan menghasilkan Siri dengan purata masa yang dikira untuk setiap gabungan kluster dan org.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Nilai Purata Dalam Berbilang Kumpulan dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn