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 = Trueen 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