Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menghimpun dan Mengira DataFrames Panda mengikut Berbilang Lajur dan Cari Kiraan Maksimum?

Bagaimana untuk Menghimpun dan Mengira DataFrames Panda mengikut Berbilang Lajur dan Cari Kiraan Maksimum?

Patricia Arquette
Patricia Arquetteasal
2024-10-23 12:13:02338semak imbas

How to Group and Count Pandas DataFrames by Multiple Columns and Find Maximum Counts?

Mengumpulkan Bingkai Data Panda mengikut Dua Lajur untuk Mendapatkan Kiraan

Pertimbangkan DataFrame bernama df dengan lajur col1, col2, col3, col4 dan col5, seperti yang ditunjukkan dalam yang disediakan coretan kod. Untuk menentukan kiraan baris berdasarkan nilai khusus dalam col5 dan col2, ikut langkah berikut:

Mendapatkan Kiraan Baris mengikut Kumpulan:

Untuk mengira kejadian dalam setiap baris berdasarkan gabungan unik nilai col5 dan col2, gunakan kaedah size() seperti berikut:

<code class="python">df.groupby(['col5', 'col2']).size()</code>

Operasi ini mengumpulkan DataFrame mengikut kedua-dua col5 dan col2 dan mengira kiraan baris dalam setiap kumpulan. Outputnya ialah satu siri dengan pasangan indeks (col5, col2) dan kiraan yang sepadan.

Contoh:

Coretan kod yang disediakan menunjukkan operasi ini menggunakan df DataFrame, menghasilkan output berikut:

col5  col2
1     A       1
      D       3
2     B       2
3     A       3
      C       1
4     B       1
5     B       2
6     B       1
dtype: int64

Dalam output ini, setiap baris mewakili gabungan unik col5 dan col2, dan kiraan yang sepadan menunjukkan berapa kali gabungan itu berlaku dalam DataFrame.

Mencari Kiraan Terbesar untuk Setiap Nilai col2:

Untuk menentukan kiraan terbesar bagi setiap nilai unik col2, lakukan langkah berikut:

  1. Kumpulkan DataFrame mengikut col2 sahaja, tidak termasuk col5.
  2. Kira kiraan baris untuk setiap kumpulan col2 menggunakan saiz().
  3. Dapatkan kiraan maksimum untuk setiap kumpulan col2 menggunakan kaedah max() pada siri berkumpulan.

Contoh:

<code class="python">df.groupby(['col2']).size().groupby(level=1).max()</code>

Coretan kod ini mengumpulkan df mengikut col2, mengira kiraan dan kemudian mencari kiraan maksimum untuk setiap nilai col2, menghasilkan dalam output berikut:

col2
A       3
B       2
C       1
D       3
dtype: int64

Dalam output ini, setiap nilai col2 dikaitkan dengan kiraan maksimum baris yang berkongsi nilai tersebut dalam col2.

Atas ialah kandungan terperinci Bagaimana untuk Menghimpun dan Mengira DataFrames Panda mengikut Berbilang Lajur dan Cari Kiraan Maksimum?. 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