Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengisi Nilai Hilang dalam Panda dengan Min Kumpulan?
Mengisi Nilai Yang Hilang dengan Min dalam Setiap Kumpulan dalam Panda
Dalam konteks ini, objektif anda adalah untuk mengisi nilai yang hilang ("NaN" ) dengan nilai min untuk setiap kumpulan berbeza dalam lajur "nama". Untuk mencapai matlamat ini, anda boleh menggunakan fungsi transformasi Pandas bersama-sama dengan kaedah fillna.
Mari kita pertimbangkan contoh DataFrame yang disediakan:
df = pd.DataFrame({ 'value': [1, np.nan, np.nan, 2, 3, 1, 3, np.nan, 3], 'name': ['A','A', 'B','B','B','B', 'C','C','C'] }) # Original DataFrame print(df)
Untuk mengira nilai min dalam setiap "nama" kumpulan, anda boleh menggunakan fungsi kumpulan mengikut:
grouped = df.groupby('name').mean()
Walau bagaimanapun, dikumpulkan ialah DataFrame yang mengandungi nilai min, dan kita perlu menggunakannya kembali pada DataFrame asal untuk mengisi nilai yang tiada. Di sinilah transformasi menjadi berguna:
df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))
Berikut ialah pecahan kod:
lambda x: x.fillna(x.mean()) mentakrifkan fungsi tanpa nama yang mengambil setiap kumpulan (diwakili oleh x) sebagai input dan melaksanakan operasi berikut:
Selepas melaksanakan kod, DataFrame yang terhasil akan mengandungi nilai yang diisi seperti yang dikehendaki:
# Adjusted DataFrame print(df)
Atas ialah kandungan terperinci Bagaimana untuk Mengisi Nilai Hilang dalam Panda dengan Min Kumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!