Obsługa wartości odstających za pomocą winsoryzacji
Dana jest tabela basetable z dwiema zmiennymi: "sum\_donations" i "donor\_id". Zmienna "sum_donations" może zawierać wartości odstające, gdy darczyńcy wpłacili wyjątkowo wysokie kwoty. Chcesz ją winsoryzować tak, aby 5% najwyższych wartości zostało zastąpionych wartością 95. percentyla.
To ćwiczenie jest częścią kursu
Pośrednia analityka predykcyjna w Pythonie
Instrukcje do ćwiczenia
- Wyświetl minimalną wartość
sum_donationsi sprawdź, czy wynosi co najmniej 0. Następnie wyświetl maksymalną wartośćsum_donations. - Podaj odpowiedni dolny limit percentyla. Ponieważ wszystkie wartości większe od 0 są realistyczne i często występują, nie ma potrzeby zastępowania wartości poniżej dolnego limitu.
- Utwórz nową zmienną „sum_donations_winsorized" jako winsoryzowaną wersję zmiennej „sum_donations".
- Wyświetl maksymalną wartość
sum_donations_winsorized.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
from scipy.stats.mstats import winsorize
# Check minimum sum of donations
print(____["____"].____())
print(____["____"].____())
# Fill out the lower limit
lower_limit = ____
# Winsorize the variable sum_donations
basetable["sum_donations_winsorized"] = ____(____["____"], limits=[lower_limit, 0.05])
# Check maximum sum of donations after winsorization
print(____["____"].____())