Contenedores de pandas

Contenedores de pandas
En este tutorial, aprenderá sobre las funciones Cut () y QCut (), los dos métodos de pandas diferentes para frenar sus datos. Puede agrupar los datos en contenedores de tamaño igual y de tamaño personalizado. Si bien poner los datos en contenedores personalizados puede ayudarlo a obtener una idea de las clasificaciones de categorización lógica, los contenedores de igual tamaño hacen que sea fácil comprender la distribución. La agrupación de los datos se puede realizar utilizando las funciones CUT () y QCUT ().

Función CUT ()

Cuando se requiere clasificar y segmentar los valores de los datos en los contenedores, utiliza el método Cut (). El método Cut () solo funciona con los objetos como matrices unidimensionales. El método Cut () realiza un análisis estadístico en un gran conjunto de datos escalares/numéricos. Esta función también puede convertir los elementos de una matriz en varios contenedores.

Sintaxis:

pandas.Cortar (datos, contenedores, derecho, etiquetas, retbins)

Parámetros:

  1. X: Matriz unidimensional; la matriz que queremos enriquecer.
  2. contenedor: Los bordes de bin se definen para la segmentación.
  3. bien: Esto se establece en verdadero de forma predeterminada. Indica si el borde más derecho de los contenedores está incluido o no
  4. etiquetas: Puede ser un bool o una matriz, y es opcional. Se especifican las etiquetas para los bins reembolsados. La longitud debe coincidir con los contenedores producidos. Si es falso, solo se devuelven los indicadores de contenedores enteros.
  5. retbins: Bool, falso de forma predeterminada. Si los contenedores son devueltos o no. Cuando los contenedores se suministran como escalar, es útil.

Ejemplo 1: con parámetro de contenedores
Tengamos un marco de datos que contiene 12 enteros en la columna "Values1". Cree 8 contenedores en el rango de 15 cada uno y almacene los contenedores en la columna "Bins".

importación de pandas
numérico = pandas.DataFrame ('valores1': [12,34,56,44,45,34,45,32,67,89,100,34])
Imprimir (numérico)
# Crear 8 contenedores
numérico ['bins'] = pandas.CUT (numérico ['valores1'], contenedores = [1,15,30,45,60,75,90,105])
imprimir()
Imprimir (numérico)
imprimir()
impresión (numérico ['bins'].único())

Producción:

Explicación:
Los contenedores se crean para todos los valores. También mostramos los tamaños de contenedor utilizando la función única (). Ahora, puede ver que un contenedor está asignado para cada valor.

Ejemplo 2: con el parámetro de etiquetas
Cree 5 contenedores en el rango de 10 cada uno y almacene los contenedores en la columna "Bins" para el marco de datos que tiene 7 filas.

importación de pandas
numérico = pandas.DataFrame ('valores1': [2,5,12,32,20,3,10])
# Crear 5 contenedores y especificar etiquetas para cada contenedor.
numérico ['bins'] = pandas.CUT (numérico ['valores1'], contenedores = [1,10,20,30,40], etiquetas = ['primero', 'segundo', 'tercero', 'último'])
imprimir()
Imprimir (numérico)

Producción:

Explicación:
Los contenedores se crean para todos los valores.

  1. Para el contenedor [1-10], la etiqueta es "primero". Los valores 2, 5, 3 y 10 caen bajo el primer contenedor.
  2. Para el contenedor [11-20], la etiqueta es "segunda". Los valores 12 y 20 caen bajo el segundo contenedor.
  3. Para el contenedor [21-30], la etiqueta es "tercera". No hay valores en este rango.
  4. Para el contenedor [31-40], la etiqueta es "última". El valor 32 cae bajo este contenedor.

Función QCut ()

La función QCUT () se conoce como un método de "discretización basada en cuantiles". Esto significa que QCut () se usa para crear los contenedores de igual tamaño dividiendo los datos subyacentes. La función QCUT () también se conoce como la "función de discretización basada en cuantiles". Esto significa que el QCut () se usa para dividir los datos subyacentes en los contenedores de igualdad de tamaños.

Sintaxis:

pandas.cortar (datos, q, derecho, etiquetas, retbins)

Parámetros:

  1. X: Una matriz unidimensional, la matriz que queremos.
  2. Q: Número de cuantiles.
  3. bien: Esto se establece en verdadero de forma predeterminada. Indica si el borde más derecho de los contenedores está incluido o no.
  4. etiquetas: Puede ser un bool o una matriz, y es opcional. Se especifican las etiquetas para los bins reembolsados. La longitud debe coincidir con los contenedores producidos. Si es falso, solo se devuelven los indicadores de contenedores enteros.
  5. retbins: Bool, falso de forma predeterminada. Si los contenedores son devueltos o no. Cuando los contenedores se suministran como escalar, es útil.

Ejemplo 1:
Tengamos un marco de datos que contiene 12 enteros en las columnas "Values1" y "Values2". Crear 2 cuantiles para ambas columnas.

importación de pandas
numérico = pandas.DataFrame ('valores1': [12,34,56,44,45,34,45,32,67,89,100,34],
'Valores2': [11,22,33,44,55,66,77,88,99,100,12,12])
Imprimir (numérico)
# Crear 2 cuantiles para la columna valores1
Numérico ['Bin Valores 1'] = Pandas.QCUT (numérico ['valores1'], 2)
# Crear 2 contenedores para la columna valores1
numérico ['bin valores 2'] = pandas.QCUT (numérico ['valores2'], 2)
imprimir()
Imprimir (numérico)

Producción:

Explicación:
Creamos 2 cuantiles para cada columna. Ahora, puede ver que cada cuantil tiene un número igual de valores.

  1. En la columna "valores1", los cuantiles son (11.999, 44.5] y (44.5, 100.0]. Hay 6 para ambos cuantiles.
  2. En la columna "valores2", los cuantiles son (10.999, 49.5] y (49.5, 100.0]. Hay 6 para ambos cuantiles.

Ejemplo 2: Qcut () vs Cut ()
Tengamos un marco de datos que contiene 12 enteros en las columnas "Values1" y "Values2". Ahora, usando Cut (), crea dos contenedores. Y usando qCut (), cree 2 cuantiles para la columna "valores2".

importación de pandas
numérico = pandas.DataFrame ('valores1': [12,34,56,44,45,34,45,32,67,89,100,34],
'Valores2': [11,22,33,44,55,66,77,88,99,100,12,12])
# Crear 2 cuantiles para la columna valores2
numérico ['qcut ()'] = pandas.QCUT (numérico ['valores2'], q = 2)
# Crear 2 contenedores para la columna valores2
Numérico ['Cut ()'] = Pandas.cortar (numérico ['valores2'], contenedores = 2)
Print (numérico ['Qcut ()'])
imprimir()
Imprimir (numérico ['Cut ()'])

Producción:

Explicación:
Ahora, ves la diferencia real:

El QCut () agrupa los datos en partes iguales. Seis (6) valores están bajo (10.999, 49.5] y otros 6 menores (49.5, 100.0]. Mientras que en Cut (), 7 valores están bajo (10.911, 55.5] y otros 5 valores están bajo (10.911, 55.5].

Conclusión

Discutimos sobre las funciones Cut () y QCut () para agrupar los datos en Pandas Python. Vimos la sintaxis de ambas funciones y describimos sus parámetros para ayudarlo mientras usa esas funciones. En los ejemplos de este tutorial, le mostramos cómo segmentar los datos en los contenedores, etiquetar los contenedores y cómo usar los datos de binning de tamaño igual usando las funciones Cut () y Qcut (). Ahora, es posible que pueda agrupar los datos por su cuenta utilizando estas funciones.