Cómo agrupar variables en Python usando numpy.digitize ()

A menudo, puede estar interesado en colocar los valores de una variable en «bins» en Python. Afortunadamente, esto es fácil de hacer usando la función numpy.digitize () , que usa la siguiente sintaxis:

numpy.digitize (x, bins, right = False)

dónde:

  • x: matriz que se va a agrupar.
  • bins: Matriz de bins.
  • right: indica si los intervalos incluyen el borde derecho o izquierdo del contenedor. El valor predeterminado es que el intervalo no incluye el borde derecho.

Este tutorial muestra varios ejemplos de cómo utilizar esta función en la práctica.

Ejemplo 1: colocar todos los valores en dos contenedores

El siguiente código muestra cómo colocar los valores de una matriz en dos contenedores:

  • 0 si x <20
  • 1 si x ≥ 20
importar numpy como np

#crear datos
datos = [2, 4, 4, 7, 12, 14, 19, 20, 24, 31, 34]

# colocar valores en bins
 np. digitalizar (datos, contenedores = [20])

matriz ([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1])

Ejemplo 2: colocar todos los valores en tres contenedores

El siguiente código muestra cómo colocar los valores de una matriz en tres contenedores:

  • 0 si x <10
  • 1 si 10 ≤ x <20
  • 2 si x ≥ 20
importar numpy como np

#crear datos
datos = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

# colocar valores en bins
 np. digitalizar (datos, contenedores = [10, 20])

matriz ([0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2])

Tenga en cuenta que si especificamos right = True , los valores se colocarían en los siguientes contenedores:

  • 0 si x ≤ 10
  • 1 si 10 <x ≤ 20
  • 2 si x> 20

Cada intervalo incluiría el borde derecho del contenedor. Así es como se ve eso:

importar numpy como np

#crear datos
datos = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

# colocar valores en bins
 np. digitalizar (datos, contenedores = [10, 20], derecha = Verdadero )

matriz ([0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2])

Ejemplo 3: colocar todos los valores en cuatro contenedores

El siguiente código muestra cómo colocar los valores de una matriz en tres contenedores:

  • 0 si x <10
  • 1 si 10 ≤ x <20
  • 2 si 20 ≤ x <30
  • 3 si x ≥ 30
importar numpy como np

#crear datos
datos = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

# colocar valores en bins
 np. digitalizar (datos, contenedores = [10, 20, 30])

matriz ([0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3])

Ejemplo 4: cuente la frecuencia de cada contenedor

Otra función útil de NumPy que complementa la función numpy.digitize () es la función numpy.bincount () , que cuenta las frecuencias de cada bin.

El siguiente código muestra cómo colocar los valores de una matriz en tres contenedores y luego contar la frecuencia de cada contenedor:

importar numpy como np

#crear datos
datos = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

# colocar valores en bins
 bin_data = np. digitalizar (datos, contenedores = [10, 20])

#ver datos agrupados
bin_data

matriz ([0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2])

# frecuencia de recuento de cada bin
 np. bincount (bin_data)

matriz ([4, 2, 5])

La salida nos dice que:

  • Bin «0» contiene 4 valores de datos.
  • Bin «1» contiene 2 valores de datos.
  • Bin «2» contiene 5 valores de datos.

Encuentra más tutoriales de Python aquí .

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

Deja un comentario

Se utiliza una prueba t de muestras pareadas para comparar las medias de dos muestras cuando cada observación en una…
statologos comunidad-2

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

You have Successfully Subscribed!