Berkumpulan Mengikut Kumpulan dan Purata dalam Panda
Masalah:
Diberikan DataFrame dengan 'cluster Lajur ', 'org' dan 'masa', bagaimana anda boleh mengira purata 'masa' setiap 'org' setiap 'kluster' dan kemudian ambil purata 'masa' untuk setiap kumpulan 'kluster'?
Jangkaan:
cluster | mean(time) |
---|---|
1 | 15 |
2 | 54 |
3 | 6 |
Penyelesaian:
Untuk mencapai hasil yang diinginkan, anda boleh menggunakan yang berikut langkah:
Berkumpulan ['cluster', 'org'] dan Ambil Min:
mean_by_cluster_org = df.groupby(['cluster', 'org'], as_index=False).mean()
Berkumpulan ['kluster'] dan Kira Purata:
cluster_average = mean_by_cluster_org.groupby('cluster')['time'].mean()
Hasil Paparan:
print(cluster_average)
Sebagai alternatif, anda juga boleh menggunakan kaedah berikut untuk menangani masalah ini:
Pilihan 1: Berkumpulan Sahaja ['cluster'] dan Ambil Min:
cluster_only_average = df.groupby('cluster').mean()
Pilihan 2: Groupby ['cluster', 'org'] dan Gunakan Min:
cluster_org_mean = df.groupby(['cluster', 'org']).mean()
Tidak kira pendekatan yang anda pilih, output akan memberikan anda purata 'masa' setiap 'org' untuk setiap kumpulan 'kluster' dan purata keseluruhan 'masa' setiap 'kluster'.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Purata 'Masa' setiap 'Org' setiap 'Kluster' dan Kemudian Purata 'Masa' untuk Setiap Kumpulan 'Kluster' dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!