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!