Cómo normalizar columnas en un marco de datos de Pandas

A menudo, es posible que desee normalizar los valores de datos de una o más columnas en un DataFrame de pandas.

Este tutorial explica dos formas de hacerlo:

1. Normalización Min-Max

  • Objetivo: convierte cada valor de datos en un valor entre 0 y 1.
  • Fórmula: Nuevo valor = (valor – min) / (max – min)

2. Normalización media

  • Objetivo: Escala los valores de manera que la media de todos los valores sea 0 y std. dev. es 1.
  • Fórmula: Nuevo valor = (valor – media) / (desviación estándar)

Veamos un ejemplo de cómo usar cada método en un DataFrame de pandas.

Ejemplo 1: Normalización Min-Max

Supongamos que tenemos el siguiente DataFrame de pandas:

importar pandas como pd

#create DataFrame
df = pd.DataFrame ({'puntos': [25, 12, 15, 14, 19],
                   'asiste': [5, 7, 7, 9, 12],
                   'rebotes': [11, 8, 10, 6, 6]}) 

#view Impresión de DataFrame
 (df)

   puntos ayuda a rebotes
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

Podemos usar el siguiente código para aplicar una normalización mínima-máxima a cada columna en el DataFrame:

(gl-gl. mín . ()) / (gl máx . () -df. mín . ())

        puntos ayuda a rebotes
0 1,000000 0,000000 1,0
1 0,000000 0,285714 0,4
2 0,230769 0,285714 0,8
3 0,153846 0,571429 0,0
4 0.538462 1.000000 0.0

El valor máximo en cada columna ahora es igual a 1 y el valor mínimo en cada columna ahora es igual a 0 , con todos los demás valores entre 0 y 1.

Ejemplo 2: Normalización media

Una vez más, supongamos que tenemos el siguiente DataFrame de pandas:

importar pandas como pd

#create DataFrame
df = pd.DataFrame ({'puntos': [25, 12, 15, 14, 19],
                   'asiste': [5, 7, 7, 9, 12],
                   'rebotes': [11, 8, 10, 6, 6]}) 

#view Impresión de DataFrame
 (df)

   puntos ayuda a rebotes
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

Podemos usar el siguiente código para aplicar una normalización media a cada columna en el DataFrame:

(gl-gl. media ()) / gl. std ()

        puntos ayuda a rebotes
0 1.554057 -1.133893 1.227881
1 -0,971286 -0,377964 -0,087706
2 -0,388514 -0,377964 0,789352
3 -0,582772 0,377964 -0,964764
4 0,388514 1,511858 -0,964764

Los valores en cada columna ahora están normalizados de manera que la media de los valores en cada columna es 0 y la desviación estándar de los valores en cada columna es 1.

Si un punto de datos en particular tiene un valor normalizado mayor que 0, es una indicación de que el punto de datos es mayor que la media de su columna. Por el contrario, un valor normalizado menor que 0 es una indicación de que el punto de datos es menor que la media de su columna.

Recursos adicionales

Pandas: cómo
agrupar y agregar por múltiples columnas Cómo filtrar un marco de datos de Pandas en múltiples condiciones
Cómo contar valores perdidos en un marco de datos de Pandas

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Uno de los problemas más comunes que encontrará en el aprendizaje automático es la multicolinealidad . Esto ocurre cuando dos…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!