Kom igångKom igång gratis

Hantera extremvärden med winsorisering

Du har en basetable med två variabler: "sum\_donations" och "donor\_id". "sum_donations" kan innehålla extremvärden när givare har donerat ovanligt stora belopp. Därför vill du winsorisera den här variabeln så att de 5 % högsta beloppen ersätts med värdet vid den övre 5-procentiga percentilen.

Den här övningen är en del av kursen

Prediktiv analys på mellannivå i Python

Visa kurs

Övningsinstruktioner

  • Skriv ut minimivärdet för sum_donations och kontrollera att det är minst 0. Skriv sedan ut maximivärdet för sum_donations.
  • Fyll i lämpligt nedre gränsvärde för percentilen. Eftersom alla värden över 0 är realistiska och förekommer ofta behöver du inte ersätta värden under den nedre percentilgränsen.
  • Skapa en ny variabel "sum_donations_winsorized" som är en winsoriserad version av variabeln "sum_donations".
  • Skriv ut maximivärdet för sum_donations_winsorized.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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(____["____"].____())
Redigera och kör kod