Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Kaedah Pandas GroupBy.apply Mencetak Kumpulan Pertama Dua kali?

Mengapa Kaedah Pandas GroupBy.apply Mencetak Kumpulan Pertama Dua kali?

Susan Sarandon
Susan Sarandonasal
2024-10-29 19:13:30422semak imbas

Why Does the Pandas GroupBy.apply Method Print the First Group Twice?

Cetakan Berganda dalam Kaedah Pandas GroupBy.apply

Kaedah GroupBy.apply dalam Pandas ialah alat yang berkuasa untuk melaksanakan operasi pada kumpulan baris dalam DataFrame. Walau bagaimanapun, tingkah laku yang tidak dijangka berlaku apabila menggunakan fungsi pada kumpulan pertama, menghasilkan dua cetakan.

Dalam contoh yang disediakan, DataFrame dengan tiga baris dikumpulkan mengikut lajur 'kelas'. Apabila menggunakan fungsi 'checkit' pada objek terkumpul, baris pertama ('A') muncul dua kali dalam output. Tingkah laku ini mungkin kelihatan mengelirukan pada mulanya, tetapi ia adalah mengikut reka bentuk.

Kaedah GroupBy.apply memanggil fungsi yang ditentukan dua kali pada kumpulan pertama untuk menentukan bentuk data yang dikembalikan. Maklumat ini adalah penting untuk kaedah menggabungkan hasil dengan sewajarnya.

Bergantung pada hasil yang diingini, terdapat kaedah alternatif untuk GroupBy. gunakan yang mengembalikan bentuk data tertentu dan elakkan panggilan berganda ini:

  • agregat: Mengembalikan DataFrame dengan bilangan baris yang berkurangan, biasanya digunakan untuk pengagregatan (cth., min, jumlah, kiraan).
  • transformasi: Berlaku elemen fungsi mengikut setiap kumpulan dan mengembalikan DataFrame dengan bentuk yang sama seperti DataFrame asal.
  • penapis: Mencipta DataFrame baharu yang memenuhi syarat yang ditetapkan.

Jika fungsi yang digunakan tidak mempunyai kesan sampingan (iaitu, tidak mengubah suai DataFrame asal), cetakan dua kali pada kumpulan pertama biasanya tidak membimbangkan. Walau bagaimanapun, jika penting untuk menghalang tingkah laku ini, memilih kaedah alternatif yang sesuai daripada senarai di atas adalah disyorkan.

Atas ialah kandungan terperinci Mengapa Kaedah Pandas GroupBy.apply Mencetak Kumpulan Pertama Dua kali?. 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