Rumah >pembangunan bahagian belakang >Tutorial Python >Pandas GroupBy: Bilakah Saya Harus Menggunakan `count()` vs. `size()`?

Pandas GroupBy: Bilakah Saya Harus Menggunakan `count()` vs. `size()`?

Patricia Arquette
Patricia Arquetteasal
2024-12-02 02:35:11579semak imbas

Pandas GroupBy: When Should I Use `count()` vs. `size()`?

Memahami Perbezaan Antara saiz dan kiraan dalam Panda

Dalam Panda, operasi kumpulan mengikut menyediakan alatan berkuasa untuk penerokaan dan pengagregatan data. Antara operasi kumpulan mengikut yang biasa digunakan ialah kiraan dan saiz. Memahami perbezaannya adalah penting untuk menganalisis data anda dengan berkesan.

kiraan lwn. saiz

Operasi kiraan mengira bilangan nilai bukan nol dalam kumpulan. Sebaliknya, operasi saiz mengira semua nilai, termasuk nilai NaN. Perbezaan ini menjadi jelas apabila bekerja dengan set data yang mengandungi nilai yang tiada.

Sebagai contoh, pertimbangkan DataFrame berikut:

df = pd.DataFrame({'a':[0,0,1,2,2,2], 'b':[1,2,3,4,np.NaN,4], 'c':np.random.randn(6)})

Jika kami mengumpulkan mengikut lajur 'a' dan menggunakan kiraan pada lajur 'b ':

print(df.groupby(['a'])['b'].count())

Kami mendapat output berikut:

a
0    2
1    1
2    2
Name: b, dtype: int64

Ini menunjukkan bahawa terdapat ialah dua nilai bukan nol untuk kumpulan 0, satu untuk kumpulan 1, dan dua untuk kumpulan 2.

Sebaliknya, jika kita menggunakan saiz:

print(df.groupby(['a'])['b'].size())

Kami memperoleh:

a
0    2
1    1
2    3
dtype: int64

Dalam kes ini, hasilnya termasuk nilai NaN dalam kumpulan 2, menunjukkan bahawa saiz menyumbang untuk semua nilai.

Oleh itu, menjadi penting untuk memilih antara kiraan dan saiz berdasarkan konteks khusus dan analisis yang diingini. Jika anda ingin mengecualikan nilai nol daripada kiraan anda, gunakan count. Jika anda perlu mengambil kira semua nilai, tanpa mengira kehadiran atau ketiadaannya, gunakan saiz.

Atas ialah kandungan terperinci Pandas GroupBy: Bilakah Saya Harus Menggunakan `count()` vs. `size()`?. 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