ComenzarEmpieza gratis

Tratar valores atípicos con winsorización

Se proporciona una basetable con dos variables: "sum\_donations" y "donor\_id". "sum_donations puede contener valores atípicos cuando donantes han aportado cantidades excepcionales. Por ello, quieres aplicar winsorización a esta variable para que el 5% de las cantidades más altas se reemplacen por el valor del percentil superior del 5%.

Este ejercicio forma parte del curso

Análisis predictivo intermedio en Python

Ver curso

Instrucciones del ejercicio

  • Imprime el valor mínimo de sum_donations y comprueba que es al menos 0. Luego imprime el valor máximo de sum_donations.
  • Indica el percentil adecuado para el límite inferior. Como todos los valores mayores que 0 son realistas y frecuentes, no es necesario reemplazar valores por debajo del percentil del límite inferior.
  • Crea una nueva variable "sum_donations_winsorized" que sea una versión con winsorización de la variable "sum_donations".
  • Imprime el valor máximo de sum_donations_winsorized.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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(____["____"].____())
Editar y ejecutar código