Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengira Purata Masa setiap Organisasi Dalam Setiap Kluster dalam Bingkai Data Pandas?

Bagaimana untuk Mengira Purata Masa setiap Organisasi Dalam Setiap Kluster dalam Bingkai Data Pandas?

Susan Sarandon
Lepaskan: 2024-11-14 20:49:02
asal
363 orang telah melayarinya

How to Calculate the Average Time per Organization Within Each Cluster in a Pandas DataFrame?

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
Salin selepas log masuk

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
Salin selepas log masuk

Penyelesaian Menggunakan Pengiraan Kumpulan BergandaBy dan Min:

Untuk mencapai ini, gunakan kuasa fungsi kumpulan mengikut kumpulan Pandas:

  1. Kumpulan AwalBy: Kumpulkan data mengikut kedua-duanya 'cluster' dan 'org' menggunakan groupby(['cluster', 'org']).
  2. Agregat Perantaraan: Kira min masa dalam setiap kumpulan menggunakan min().
  3. Kumpulan SekunderOleh: Himpunkan lagi DataFrame yang terhasil dengan 'cluster' menggunakan groupby('cluster').
  4. Agregat Akhir: Kira min masa untuk setiap gugusan menggunakan min().
cluster_org_time = df.groupby(['cluster', 'org'], as_index=False).mean()
result = cluster_org_time.groupby('cluster')['time'].mean()
Salin selepas log masuk

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()
Salin selepas log masuk

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()
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan