Melaksanakan Pengagregatan Berkumpulan dan Pengiraan Purata
Pertimbangkan DataFrame berikut dengan data tentang kelompok, organisasi dan masa:
cluster org time 0 a 8 1 a 6 2 h 34 3 c 23 4 d 74 5 w 6
Objektifnya adalah untuk mengira purata masa setiap organisasi dalam setiap kelompok. Hasil yang dijangkakan sepatutnya menyerupai:
cluster mean(time) 1 15 #=((8 + 6) / 2 + 23) / 2 2 54 #=(74 + 34) / 2 3 6
Penyelesaian Menggunakan Pengiraan Kumpulan BergandaBy dan Min:
Untuk mencapai ini, gunakan kuasa fungsi kumpulan mengikut kumpulan Pandas:
cluster_org_time = df.groupby(['cluster', 'org'], as_index=False).mean() result = cluster_org_time.groupby('cluster')['time'].mean()
Penyelesaian Alternatif untuk Purata Kumpulan Berkelompok:
Untuk purata kumpulan kluster sahaja, cukup kumpulkan mengikut ['cluster'] dan hitung min menggunakan min().
cluster_mean_time = df.groupby(['cluster']).mean()
Pilihan Tambahan untuk GroupBy dengan org dan Pengiraan Min:
Sebagai alternatif, anda boleh mengumpulkan oleh ['cluster', 'org'] dan hitung secara langsung min:
cluster_org_mean_time = df.groupby(['cluster', 'org']).mean()
Atas ialah kandungan terperinci Bagaimana untuk Mengira Purata Masa setiap Organisasi Dalam Setiap Kluster dalam Bingkai Data Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!