Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Groupby DataFrame mengikut Dua Lajur, Kira Kejadian dan Cari Kiraan Maksimum?

Bagaimana untuk Groupby DataFrame mengikut Dua Lajur, Kira Kejadian dan Cari Kiraan Maksimum?

DDD
DDDasal
2024-10-23 12:10:02528semak imbas

How to Groupby DataFrame by Two Columns, Count Occurrences, and Find Maximum Count?

Groupby DataFrame oleh Dua Lajur dan Ambil Kiraan

Dalam tutorial ini, kami akan menunjukkan cara mengira kejadian gabungan dua lajur dalam Pandas DataFrame dan mengenal pasti kiraan maksimum untuk setiap nilai unik dalam salah satu lajur berkumpulan.

Pernyataan Masalah

Pertimbangkan df Pandas DataFrame berikut:

<code class="python">df = pd.DataFrame([
    [1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], 
    list('AAABBBBABCBDDD'), 
    [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8], 
    ['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],
    ['1','3','3','2','4','2','5','3','6','3','5','1','1','1']
]).T
df.columns = ['col1','col2','col3','col4','col5']</code>

Kiraan Kejadian

Untuk mendapatkan kiraan setiap gabungan unik col5 dan col2 dalam df, kita boleh menggunakan fungsi groupby diikuti dengan kaedah saiz:

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

Outputnya ialah:

col5  col2
1     A       1
      D       3
2     B       2
etc...

Cari Kiraan Maksimum untuk Setiap Nilai col2

Untuk menentukan kiraan maksimum bagi setiap nilai col2, kita boleh menggunakan kaedah saiz fungsi groupby untuk mengira saiz kumpulan dan kemudian gunakan groupby pada tahap pertama untuk mencari maksimum untuk setiap nilai col2 unik:

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

Ini akan menghasilkan output:

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

Atas ialah kandungan terperinci Bagaimana untuk Groupby DataFrame mengikut Dua Lajur, Kira Kejadian 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