Bagaimana Mengisih Keputusan dalam Kumpulan Menggunakan GroupBy dan Agregasi dalam Panda?

DDD
Lepaskan: 2024-10-20 17:22:31
asal
308 orang telah melayarinya

How to Sort Results within Groups Using GroupBy and Aggregation in Pandas?

panda mengikut kumpulan dan mengisih dalam kumpulan

Mahu mengisih hasil kumpulan mengikut pengagregatan adalah tugas biasa. Dalam contoh ini, kami mempunyai DataFrame dengan dua lajur, 'kerja' dan 'sumber' serta lajur 'kira' yang kami mahu kumpulkan mengikut dan isih.

Untuk melakukan ini, kami boleh menggunakan kumpulan mengikut () kaedah untuk mengumpulkan DataFrame mengikut lajur 'kerja' dan 'sumber'. Kami kemudiannya boleh menggunakan kaedah agg() untuk mengagregatkan lajur 'kira', dalam kes ini menggunakan fungsi jumlah.

In [168]: df.groupby(['job','source']).agg({'count':sum})

Out[168]:
               count
job    source       
market A           5
       B           3
       C           2
       D           4
       E           1
sales  A           2
       B           4
       C           6
       D           3
       E           7
Salin selepas log masuk

Ini akan memberi kami DataFrame baharu dengan hasil terkumpul. Kami kemudiannya boleh menggunakan kaedah sort_values() untuk mengisih lajur 'kira' dalam tertib menurun dalam setiap kumpulan.

In [34]: df.sort_values(['job','count'],ascending=False).groupby('job').head(3)

Out[35]: 
   count     job source
4      7   sales      E
2      6   sales      C
1      4   sales      B
5      5  market      A
8      4  market      D
6      3  market      B
Salin selepas log masuk

Ini akan memberi kami DataFrame baharu dengan 3 keputusan teratas untuk setiap kumpulan.

Atas ialah kandungan terperinci Bagaimana Mengisih Keputusan dalam Kumpulan Menggunakan GroupBy dan Agregasi dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!