NaN değer atama (imputation)
Hadi .transform() metodunu kullanarak bazı değerleri atamayı deneyelim. Önceki görevde, yetersiz sayıda bmi gözlemi olan tüm grupları kaldırdığın fheroes adlı bir DataFrame oluşturmuştun. Ancak bmi sütunumuzda çok fazla eksik değer (NaN) var. fheroes DataFrame'inin iki kopyası (imp_globmean ve imp_grpmean) verildiğine göre, görevin bmi sütunundaki NaN değerlerini sırasıyla genel ortalama değerle ve Publisher ile Alignment faktörlerinin tanımladığı gruplara göre ortalama değerlerle doldurmak.
İpucu: pandas Series ve NumPy dizilerinin, karşılaşılan tüm NaN değerlerini argüman olarak verilen bir değerle değiştiren özel bir .fillna() metodu vardır.
Bu egzersiz, kursun bir parçasıdır
Python ile Kodlama Mülakatı Soruları Pratiği
Egzersiz talimatları
seriesiçindekiNaNdeğerlerini kendi ortalamasıyla dolduran bir lambda fonksiyonu tanımla.imp_globmean'inbmisütunundakiNaNdeğerlerini genel ortalama ile doldur.imp_grpmean'inbmisütunundakiNaNdeğerlerini grup başına ortalama ile doldur.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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())