Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Mengisih Keputusan dalam Kumpulan Menggunakan GroupBy dan Agregasi dalam Panda?

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

DDD
DDDasal
2024-10-20 17:22:31310semak imbas

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

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

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!

Kenyataan:
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