Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melakukan Kiraan Nilai dan Cari Kiraan Maksimum untuk Berbilang Lajur Menggunakan Pandas DataFrame GroupBy?

Bagaimana untuk Melakukan Kiraan Nilai dan Cari Kiraan Maksimum untuk Berbilang Lajur Menggunakan Pandas DataFrame GroupBy?

Linda Hamilton
Linda Hamiltonasal
2024-10-23 11:40:02633semak imbas

How to Perform Value Counts and Find Maximum Counts for Multiple Columns Using Pandas DataFrame GroupBy?

Pandas DataFrame GroupBy Multiple Lajur untuk Pengiraan Nilai

Dalam manipulasi DataFrame dengan Pandas, mengumpulkan data mengikut berbilang lajur boleh memberikan cerapan berharga. Artikel ini menunjukkan cara mengira pemerhatian semasa mengumpulkan mengikut dua lajur, serta menentukan kiraan tertinggi untuk setiap kumpulan.

Memandangkan DataFrame dengan berbilang lajur, adalah mungkin untuk menggunakan fungsi 'groupby' pada data kumpulan berdasarkan lajur tertentu. Di sini, kami mempunyai DataFrame bernama 'df' dengan lima lajur: 'col1', 'col2', 'col3', 'col4' dan 'col5'.

<code class="python">import pandas as pd

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>

Mengira Mengikut Baris Kumpulan

Untuk mengira bilangan pemerhatian dalam setiap kumpulan baris, gunakan fungsi 'kumpulan mengikut' pada lajur yang dikehendaki dan kemudian gunakan fungsi 'saiz'.

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

Ini akan menghasilkan DataFrame dengan lajur berkumpulan sebagai indeks dan saiz sebagai nilai.

<code class="python">print(result)</code>

Menentukan Kiraan Tertinggi

Untuk menentukan kiraan maksimum bagi setiap nilai 'col2', gunakan fungsi 'groupby' pada 'col2' dan kemudian gunakan fungsi 'max' pada data terkumpul.

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

Ini akan menghasilkan Siri dengan kiraan maksimum untuk setiap 'col2 nilai '.

<code class="python">print(result)</code>

Ringkasnya, menggunakan fungsi 'groupby' dan 'size' dalam Pandas membolehkan analisis dan pengagregatan data yang cekap, membolehkan pengguna mengekstrak cerapan tentang data mereka dalam pelbagai cara.

Atas ialah kandungan terperinci Bagaimana untuk Melakukan Kiraan Nilai dan Cari Kiraan Maksimum untuk Berbilang Lajur Menggunakan Pandas DataFrame GroupBy?. 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