Funzione Pandas cut
-
pandas.cut()
Sintassi della funzione -
Esempio: distribuire i valori delle colonne di un DataFrame in contenitori utilizzando il metodo
pandas.cut()
-
Esempio: distribuire valori in contenitori e assegnare un’etichetta a ciascun contenitore utilizzando il metodo
pandas.cut()
-
Esempio: imposta
retbins=True
nel metodopandas.cut()
per restituire i valori bin
La funzione pandas.cut()
potrebbe distribuire i dati dati in intervalli, chiamati anche bins
.
Useremo il DataFrame di seguito in questo articolo.
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)
Produzione:
Name Age Score
0 Anish 23 316
1 Birat 34 322
2 Chirag 38 332
3 Kabin 45 330
4 Sachin 27 325
pandas.cut()
Sintassi della funzione
pandas.cut(
x,
bins,
right=True,
labels=None,
retbins=False,
precision=3,
include_lowest=False,
duplicates="raise",
ordered=True,
)
Parametri
x |
La matrice data |
bins |
I criteri per raggruppare i dati |
right |
Booleano. Se True , includi anche il numero più a destra del cestino. |
labels |
Vettore. Etichette per i bidoni. |
retbins |
Booleano. Se True , restituisci i bidoni. |
precision |
Numero intero. Precisione per la conservazione e la visualizzazione dei contenitori |
ordered |
Booleano. Se True, le etichette risultanti verranno ordinate |
Ritorno
Restituisce un array costituito da valori bin per ogni elemento dell’array x
. Restituisce anche i bin se abbiamo impostato retbins=True
.
Esempio: distribuire i valori delle colonne di un DataFrame in contenitori utilizzando il metodo 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)
Produzione:
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 i valori della colonna Age
nel DataFrame df
nelle fasce d’età calcolate utilizzando il valore dell’argomento bins
nel metodo pandas.cut()
e infine mostra DataFrame con il valore Age-Range
per ogni riga.
Qui, (20,30]
rappresenta i valori da 20 a 30, esclusi 20 e inclusi 30.
Esempio: distribuire valori in contenitori e assegnare un’etichetta a ciascun contenitore utilizzando il metodo pandas.cut()
Per impostazione predefinita, l’etichetta assegnata a ciascun contenitore sarà l’intervallo del contenitore. Possiamo impostare le etichette bin personalizzate usando il parametro labels
nella funzione 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)
Produzione:
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
Assegna ogni valore della colonna Età
a contenitori e aggiunge un’etichetta a ciascun contenitore univoco.
Esempio: imposta retbins=True
nel metodo pandas.cut()
per restituire i valori 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)
Produzione:
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]
Visualizza il DataFrame con i valori Age-Range
insieme ai valori bin.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn