Veamos cómo encontrar los rangos de cuantil y decil de una columna en Pandas. Usaremos la qcut()
función del pandas
mó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:
- Importación
pandas
ynumpy
módulos. - Crear un marco de datos.
- Utilice
pandas.qcut()
la función,Score
se pasa la columna sobre la que se calcula la discretización del cuantil. Yq
se establece en 4 por lo que los valores se asignan de 0-3 - 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:
- Importación
pandas
ynumpy
módulos. - Crear un marco de datos.
- Utilice
pandas.qcut()
la función,Score
se pasa la columna sobre la que se calcula la discretización del cuantil. Yq
se establece en 10 por lo que los valores se asignan de 0-9 - 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