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

Bagaimana untuk Mengira Nilai Purata dengan Berbilang Kumpulan dalam Panda?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-20 01:45:01351semak imbas

How to Calculate Average Values with Multiple Groupings in Pandas?

Kumpulan demi Pengagregatan dengan Berbilang Kumpulan dan Purata

Dalam Panda, melaksanakan pengagregatan pada data yang dikumpulkan mengikut berbilang peringkat ialah operasi biasa. Pertimbangkan DataFrame berikut:

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

Tugas biasa ialah mengira purata lajur tertentu, seperti "masa," setiap kumpulan yang ditakrifkan oleh berbilang pembolehubah, seperti "kelompok" dan "org."

Penyelesaian 1: Min pada Kumpulan Kluster Sahaja

Untuk mengira min bagi "masa" dikumpulkan mengikut "kluster" sahaja, anda boleh menggunakan kod berikut:

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

Keputusan:

              time
cluster
1        12.333333
2        54.000000
3         6.000000

Penyelesaian 2: Min pada Gabungan Kumpulan

Jika anda ingin mengira min "masa" bagi setiap gabungan "kluster" dan "org," anda boleh menggunakan:

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

Keputusan:

               time
cluster org
1       a    438886
        c        23
2       d      9874
        h        34
3       w         6

Penyelesaian 3: Min Bersarang pada Kumpulan

Untuk melakukan min bersarang, mula-mula purata pada gabungan "kluster" dan "org" dan kemudian purata pada kumpulan "kluster", gunakan:

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

Keputusan:

cluster  mean(time)
1          15 #=((8 + 6) / 2 + 23) / 2
2          54 #=(74 + 34) / 2
3           6

Atas ialah kandungan terperinci Bagaimana untuk Mengira Nilai Purata dengan 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