Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mencari Nilai Paling Biasa dalam Bingkai Data Pandas Selepas Pengumpulan?
Untuk membersihkan data dengan berbilang lajur rentetan, kumpulkan mengikut dua lajur pertama dan pilih nilai paling lazim untuk lajur ketiga dalam setiap gabungan.
Kod yang disediakan gagal dengan KeyError, dan pengumpulan hanya mengikut lajur City menghasilkan AssertionError. Penyelesaian yang teguh diperlukan.
Siarkan panda v0.16, pd.Series.mode menawarkan kaedah yang serba boleh dan cekap untuk tugasan ini:
source.groupby(['Country', 'City'])['Short name'].agg(pd.Series.mode)
Dalam kes berbilang mod dalam kumpulan, Series.mode mengembalikan senarai nilai. Untuk hasil tunggal, gunakan fungsi lambda:
source.groupby(['Country', 'City'])['Short name'].agg(lambda x: pd.Series.mode(x)[0])
scipy.stats.mode juga boleh digunakan, tetapi ia menimbulkan ralat apabila menghadapi berbilang mod.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Paling Biasa dalam Bingkai Data Pandas Selepas Pengumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!