Imputasi nilai NaN
Mari coba melakukan imputasi beberapa nilai menggunakan metode .transform(). Pada tugas sebelumnya Anda membuat DataFrame fheroes di mana semua grup dengan jumlah observasi bmi yang tidak mencukupi telah dihapus. Namun, kolom bmi kita memiliki banyak nilai hilang (NaN). Dengan diberikan dua salinan DataFrame fheroes (imp_globmean dan imp_grpmean), tugas Anda adalah mengimputasi NaN pada kolom bmi dengan nilai rata-rata keseluruhan dan dengan nilai rata-rata per grup yang didefinisikan oleh faktor Publisher dan Alignment, masing-masing.
Tip: pandas Series dan NumPy array memiliki metode khusus .fillna() yang menggantikan semua NaN yang ditemukan dengan nilai yang ditentukan sebagai argumen.
Latihan ini merupakan bagian dari kursus
Berlatih Pertanyaan Wawancara Coding di Python
Instruksi latihan
- Definisikan fungsi lambda yang mengimputasi nilai
NaNdalamseriesdengan nilai rataratanya. - Imputasi
NaNpada kolombmidariimp_globmeandengan nilai rata-rata keseluruhan. - Imputasi
NaNpada kolombmidariimp_grpmeandengan nilai rata-rata per grup.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Define a lambda function that imputes NaN values in series
impute = lambda series: ____
# Impute NaNs in the bmi column of imp_globmean
imp_globmean['bmi'] = ____
print("Global mean = " + str(fheroes['bmi'].mean()) + "\n")
groups = imp_grpmean.groupby(['Publisher', 'Alignment'])
# Impute NaNs in the bmi column of imp_grpmean
imp_grpmean['bmi'] = groups[____].____
print(groups['bmi'].mean())