Pandas Función cut
-
Sintaxis de la función
pandas.cut()
-
Ejemplo: distribuir valores de columna de un DataFrame en contenedores utilizando el método
pandas.cut()
-
Ejemplo: distribuir valores en contenedores y asignar una etiqueta a cada contenedor mediante el método
pandas.cut()
-
Ejemplo: Establezca
retbins = True
en el métodopandas.cut()
para devolver los valores de bin
La función pandas.cut()
podría distribuir los datos dados en rangos, también llamados bins
.
Usaremos el siguiente DataFrame en este artículo.
import pandas as pd
df = pd.DataFrame(
{
"Name": ["Anish", "Birat", "Chirag", "Kabin", "Sachin"],
"Age": [23, 34, 38, 45, 27],
"Score": [316, 322, 332, 330, 325],
}
)
print(df)
Producción:
Name Age Score
0 Anish 23 316
1 Birat 34 322
2 Chirag 38 332
3 Kabin 45 330
4 Sachin 27 325
Sintaxis de la función pandas.cut()
pandas.cut(
x,
bins,
right=True,
labels=None,
retbins=False,
precision=3,
include_lowest=False,
duplicates="raise",
ordered=True,
)
Parámetros
x |
La matriz dada |
bins |
Los criterios para agrupar los datos |
right |
Booleano. Si es True , incluya también el número más a la derecha del contenedor. |
labels |
Formación. Etiquetas para los contenedores. |
retbins |
Booleano. Si es True , devuelva los contenedores. |
precision |
Entero. Precisión para almacenar y mostrar contenedores |
ordered |
Booleano. Si es True, las etiquetas resultantes se ordenarán |
Retorna
Devuelve un array que consta de valores bin para cada elemento en el array x
. También devuelve los bins si hemos establecido retbins = True
.
Ejemplo: distribuir valores de columna de un DataFrame en contenedores utilizando el método pandas.cut()
import pandas as pd
df = pd.DataFrame(
{
"Name": ["Anish", "Birat", "Chirag", "Kabin", "Sachin"],
"Age": [23, 34, 38, 45, 27],
"Score": [316, 322, 332, 330, 325],
}
)
print("Initial DataFrame:")
print(df, "\n")
df["Age-Range"] = pd.cut(x=df["Age"], bins=[20, 30, 40, 50])
print("DataFrame with Age-Range:")
print(df)
Producción:
Initial DataFrame:
Name Age Score
0 Anish 23 316
1 Birat 34 322
2 Chirag 38 332
3 Kabin 45 330
4 Sachin 27 325
DataFrame with Age-Range:
Name Age Score Age-Range
0 Anish 23 316 (20, 30]
1 Birat 34 322 (30, 40]
2 Chirag 38 332 (30, 40]
3 Kabin 45 330 (40, 50]
4 Sachin 27 325 (20, 30]
Separa los valores de la columna Age
en el DataFrame df
en los rangos de edad calculados utilizando el valor del argumento bins
en el método pandas.cut()
y finalmente muestra el DataFrame con el valor de Age-Range
por cada fila.
Aquí, (20,30]
representa los valores de 20 a 30, excluyendo 20 e incluyendo 30.
Ejemplo: distribuir valores en contenedores y asignar una etiqueta a cada contenedor mediante el método pandas.cut()
De forma predeterminada, la etiqueta asignada a cada contenedor será el rango del contenedor. Podemos configurar las etiquetas de contenedor personalizadas usando el parámetro labels
en la función pandas.cut()
.
import pandas as pd
df = pd.DataFrame(
{
"Name": ["Anish", "Birat", "Chirag", "Kabin", "Sachin"],
"Age": [23, 34, 38, 45, 27],
"Score": [316, 322, 332, 330, 325],
}
)
print("Initial DataFrame:")
print(df, "\n")
bin_labels = labels = ["21 to 30", "31 to 40", "41 to 50"]
df["Age-Range"] = pd.cut(x=df["Age"], bins=[20, 30, 40, 50], labels=bin_labels)
print("DataFrame with Age-Range:")
print(df)
Producción:
Initial DataFrame:
Name Age Score
0 Anish 23 316
1 Birat 34 322
2 Chirag 38 332
3 Kabin 45 330
4 Sachin 27 325
DataFrame with Age-Range:
Name Age Score Age-Range
0 Anish 23 316 21 to 30
1 Birat 34 322 31 to 40
2 Chirag 38 332 31 to 40
3 Kabin 45 330 41 to 50
4 Sachin 27 325 21 to 30
Asigna cada valor de la columna Age
en contenedores y agrega una etiqueta a cada contenedor único.
Ejemplo: Establezca retbins = True
en el método pandas.cut()
para devolver los valores de bin
import pandas as pd
df = pd.DataFrame(
{
"Name": ["Anish", "Birat", "Chirag", "Kabin", "Sachin"],
"Age": [23, 34, 38, 45, 27],
"Score": [316, 322, 332, 330, 325],
}
)
print("Initial DataFrame:")
print(df, "\n")
bin_labels = labels = ["21 to 30", "31 to 40", "41 to 50"]
df["Age-Range"], bin_values = pd.cut(
x=df["Age"], bins=[20, 30, 40, 50], labels=bin_labels, retbins=True
)
print("DataFrame with Age-Range:")
print(df, "\n")
print("The bin values are:")
print(bin_values)
Producción:
Initial DataFrame:
Name Age Score
0 Anish 23 316
1 Birat 34 322
2 Chirag 38 332
3 Kabin 45 330
4 Sachin 27 325
DataFrame with Age-Range:
Name Age Score Age-Range
0 Anish 23 316 21 to 30
1 Birat 34 322 31 to 40
2 Chirag 38 332 31 to 40
3 Kabin 45 330 41 to 50
4 Sachin 27 325 21 to 30
The bin values are:
[20 30 40 50]
Muestra el DataFrame con los valores de Age-Range
junto con los valores del contenedor.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn