Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Nilai Paling Biasa dalam Lajur Pandas DataFrame Selepas Dikumpulkan?

Bagaimana untuk Mencari Nilai Paling Biasa dalam Lajur Pandas DataFrame Selepas Dikumpulkan?

Patricia Arquette
Patricia Arquetteasal
2024-11-30 12:13:12554semak imbas

How to Find the Most Common Value in a Pandas DataFrame Column After Grouping?

GroupBy panda DataFrame dan Pilih Nilai Paling Biasa

Anda ditugaskan untuk membersihkan bingkai data dengan tiga lajur rentetan, memastikan bahawa lajur ketiga mengandungi nilai yang betul untuk gabungan yang ditentukan bagi dua lajur pertama. Coretan kod yang anda berikan cuba mengumpulkan bingkai data mengikut dua lajur pertama dan memilih nilai paling biasa lajur ketiga untuk setiap gabungan. Walau bagaimanapun, anda menghadapi masalah apabila cuba melaksanakan fungsi agg.

Menggunakan Panda >= 0.16

Sintaks yang anda gunakan dalam kod anda sudah lapuk . Sebaliknya, gunakan fungsi pd.Series.mode, yang tersedia dalam Pandas versi 0.16 dan ke atas. Fungsi ini mengembalikan nilai yang paling biasa dalam satu siri rentetan. Begini cara untuk menggunakannya:

source.groupby(['Country','City'])['Short name'].agg(pd.Series.mode)

Sintaks ini mengumpulkan bingkai data mengikut 'Negara' dan 'Bandar,' menggunakan fungsi pd.Series.mode pada lajur 'Short name' setiap kumpulan dan memaparkan hasil.

Jika anda memerlukan output sebagai DataFrame, gunakan ini baris:

source.groupby(['Country','City'])['Short name'].agg(pd.Series.mode).to_frame()

Mengendalikan Berbilang Mod

Fungsi mod pd.Series.mode juga mengendalikan situasi di mana berbilang mod wujud. Sebagai contoh, jika berbilang nilai berlaku dengan kekerapan yang sama dengan nilai yang paling biasa, ia akan dikembalikan sebagai senarai mod.

Alternatif (Tidak Disyorkan)

Anda boleh menggunakan fungsi statistics.mode daripada perpustakaan standard Python. Walau bagaimanapun, pendekatan ini tidak berfungsi dengan baik apabila berurusan dengan berbilang mod. Ia menimbulkan StatisticsError apabila tiada satu pun nilai yang paling biasa.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Paling Biasa dalam Lajur Pandas DataFrame Selepas Dikumpulkan?. 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