Bagaimana untuk Menghimpun dan Mengisih Data dalam Lajur Tertentu dalam DataFrame?

Barbara Streisand
Lepaskan: 2024-10-20 17:20:02
asal
125 orang telah melayarinya

How to Group and Sort Data within Specific Columns in a DataFrame?

Pandas Groupby dan Sorting dalam Kumpulan

Menghimpunkan DataFrame mengikut berbilang lajur ialah tugas biasa dalam manipulasi data. Ia membolehkan kami mengagregat data mengikut lajur ini dan melaksanakan operasi selanjutnya pada hasil agregat. Walau bagaimanapun, selalunya perlu mengisih hasil agregat dalam setiap kumpulan untuk mendapatkan baris atas atau bawah.

Pertimbangkan df DataFrame yang disediakan dalam soalan:

   count     job source
0      2   sales      A
1      4   sales      B
2      6   sales      C
3      3   sales      D
4      7   sales      E
5      5  market      A
6      3  market      B
7      2  market      C
8      4  market      D
9      1  market      E
Salin selepas log masuk

Matlamatnya adalah untuk kumpulan df mengikut lajur kerja dan sumber dan kemudian susun lajur 'kira' dalam tertib menurun dalam setiap kumpulan. Untuk mencapai ini, kita boleh menggunakan fungsi groupby() dan sort_values() seperti berikut:

<code class="python">df.groupby(['job', 'source'])['count'].sum().sort_values(ascending=False)</code>
Salin selepas log masuk

Ini akan mengisih lajur 'kira' dalam tertib menurun dalam setiap kumpulan, memberikan output berikut:

job    source       
sales  E           7
       C           6
       B           4
       D           3
       A           2
market A           5
       D           4
       B           3
       C           2
       E           1
Salin selepas log masuk

Walau bagaimanapun, jika kita ingin mendapatkan hanya tiga baris teratas dalam setiap kumpulan, kita boleh menggunakan fungsi head():

<code class="python">df.groupby(['job', 'source'])['count'].sum().sort_values(ascending=False).groupby('job').head(3)</code>
Salin selepas log masuk

Ini akan memberikan kita hasil berikut:

   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

Dengan menggabungkan fungsi groupby(), sort_values(), dan head(), kita boleh mengumpulkan, mengisih dan memilih baris atas atau bawah dalam setiap kumpulan dalam panda dengan berkesan.

Atas ialah kandungan terperinci Bagaimana untuk Menghimpun dan Mengisih Data dalam Lajur Tertentu dalam DataFrame?. 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
Artikel terbaru oleh pengarang
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!