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!