Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengaitkan Nilai Hilang dalam Panda Menggunakan Cara Kumpulan?

Bagaimana untuk Mengaitkan Nilai Hilang dalam Panda Menggunakan Cara Kumpulan?

Susan Sarandon
Lepaskan: 2024-12-05 16:29:10
asal
609 orang telah melayarinya

How to Impute Missing Values in Pandas Using Group Means?

Imputasi NaN dengan Min Kumpulan dalam Panda

Mengisi nilai yang hilang menggunakan min dalam setiap kumpulan adalah tugas biasa apabila bekerja dengan data jadual. Pertimbangkan DataFrame berikut dengan nilai yang tiada:

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']})
Salin selepas log masuk

Matlamat kami adalah untuk mengaitkan nilai yang hilang dengan min setiap kumpulan berdasarkan lajur 'nama'.

Untuk mencapai matlamat ini, kami boleh menggunakan fungsi groupby() dan transform() dalam Pandas:

grouped = df.groupby('name').mean()
df["value"] = df.groupby("name").transform(lambda x: x.fillna(x.mean()))
Salin selepas log masuk

Fungsi groupby() mencipta kumpulan berdasarkan lajur 'nama', dan min() mengira nilai min untuk setiap kumpulan. Fungsi transform() menggunakan nilai min ini pada setiap baris dalam setiap kumpulan dan mengisi nilai yang tiada.

DataFrame yang terhasil:

print(df)

  name  value
0    A      1
1    A      1
2    B      2
3    B      2
4    B      3
5    B      1
6    C      3
7    C      3
8    C      3
Salin selepas log masuk

Penjelasan:

  • Fungsi min() mengira nilai min dalam setiap kumpulan, menghasilkan DataFrame dengan cara berkumpulan.
  • Fungsi transform() menggunakan kaedah fillna() untuk setiap kumpulan, menggunakan nilai min sebagai nilai isian. Ini mengisi nilai yang hilang dengan min khusus untuk setiap kumpulan.

Penyelesaian Alternatif:

Satu lagi pendekatan kepada imputasi nilai hilang berasaskan kumpulan ialah:

impute_cols = ['value']
df[impute_cols] = df[impute_cols].fillna(df.groupby('name')[impute_cols].transform('mean'))
Salin selepas log masuk

Kedua-dua kaedah mencapai hasil yang sama, tetapi pendekatan yang kedua memberikan lebih fleksibiliti apabila mengira berbilang lajur.

Atas ialah kandungan terperinci Bagaimana untuk Mengaitkan Nilai Hilang dalam Panda Menggunakan Cara Kumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan