Rango cuantil y decil de una columna en Pandas-Python

Veamos cómo encontrar los rangos de cuantil y decil de una columna en Pandas. Usaremos la qcut()función del pandasmódulo.

pandas.qcut()

La función de la biblioteca Pandas qcut()es una función de discretización basada en cuantiles. Esto significa que discretiza las variables en cubos de igual tamaño según el rango o según los cuantiles de muestra.

Sintaxis: pandas.qcut(x, q, etiquetas=Ninguno, retbins: bool = Falso, precisión: int = 3, duplicados: str = ‘aumentar’)

Parámetros:

  • x : 1d ndarray o Serie.
  • q : Número de cuantiles. Por ejemplo, 10 se refiere a deciles y 4 se refiere a cuantiles.
  • etiquetas : se utiliza como etiquetas para los contenedores resultantes. Si se establece como False, solo devuelve indicadores enteros de los contenedores. Si es Verdadero, entonces genera un error. De forma predeterminada, se establece en Ninguno.
  • retbins: (opcional) es un valor booleano que devuelve (contenedores, etiquetas) cuando se establece en True.
  • precision : (opcional) la precisión con la que almacenar y mostrar las etiquetas de los contenedores.
  • duplicados: (opcional) si los bordes del contenedor no son únicos, genere ValueError o elimine los no únicos.

Rango cuantil

Algoritmo:

  1. Importación pandas y numpy módulos.
  2. Crear un marco de datos.
  3. Utilice pandas.qcut()la función, Scorese pasa la columna sobre la que se calcula la discretización del cuantil. Y qse establece en 4 por lo que los valores se asignan de 0-3
  4. Imprima el marco de datos con el rango cuantil.
# importing the modules
import pandas as pd
import numpy as np
    
# creating a DataFrame
df = {'Name' : ['Amit', 'Darren', 'Cody', 'Drew',
                'Ravi', 'Donald', 'Amy'],
      'Score' : [50, 71, 87, 95, 63, 32, 80]}
df = pd.DataFrame(df, columns = ['Name', 'Score'])
  
# adding Quantile_rank column to the DataFrame
df['Quantile_rank'] = pd.qcut(df['Score'], 4,
                               labels = False)
  
# printing the DataFrame
print(df)

Producción :

Rango de decil

Algoritmo:

  1. Importación pandas y numpy módulos.
  2. Crear un marco de datos.
  3. Utilice pandas.qcut()la función, Scorese pasa la columna sobre la que se calcula la discretización del cuantil. Y qse establece en 10 por lo que los valores se asignan de 0-9
  4. Imprima el marco de datos con el rango de decil.
# importing the modules
import pandas as pd
import numpy as np
    
# creating a DataFrame
df = {'Name' : ['Amit', 'Darren', 'Cody', 'Drew',
                'Ravi', 'Donald', 'Amy'],
      'Score' : [50, 71, 87, 95, 63, 32, 80]}
df = pd.DataFrame(df, columns = ['Name', 'Score'])
  
# adding Decile_rank column to the DataFrame
df['Decile_rank'] = pd.qcut(df['Score'], 10,
                            labels = False)
  
# printing the DataFrame
print(df)

Producción :

Publicación traducida automáticamente

Artículo escrito por gauravbabbar25 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *