Pandas cut Fonction

Suraj Joshi 30 janvier 2023
  1. Syntaxe de la fonction pandas.cut()
  2. Exemple : Distribuer les valeurs des colonnes d’un DataFrame dans des bacs en utilisant la méthode pandas.cut()
  3. Exemple : Distribuer les valeurs dans les bacs et assigner une étiquette à chaque bac en utilisant la méthode pandas.cut()
  4. Exemple : Définissez le paramètre retbins=True dans la fonction pandas.cut() Méthode pour retourner les valeurs des bacs
Pandas cut Fonction

La fonction pandas.cut() pourrait distribuer les données données données dans des plages, aussi appelées bins.

Nous utiliserons le DataFrame ci-dessous dans cet article.

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)

Production :

     Name  Age  Score
0   Anish   23    316
1   Birat   34    322
2  Chirag   38    332
3   Kabin   45    330
4  Sachin   27    325

Syntaxe de la fonction pandas.cut()

pandas.cut(
    x,
    bins,
    right=True,
    labels=None,
    retbins=False,
    precision=3,
    include_lowest=False,
    duplicates="raise",
    ordered=True,
)

Paramètres

x L’éventail donné
bins Les critères de classification des données
right Booléen. Si True, inclure également le numéro le plus à droite de la poubelle.
labels Array. Etiquettes pour les bacs.
retbins Booléen. Si True, retournez les poubelles.
precision Entier. Précision pour le stockage et l’affichage des bacs
ordered Booléen. Si c’est vrai, les étiquettes résultantes seront commandées

Retourne

Il retourne un tableau composé de valeurs de bin pour chaque élément du tableau x. Il retourne également les bins si nous avons défini retbins=True.

Exemple : Distribuer les valeurs des colonnes d’un DataFrame dans des bacs en utilisant la méthode 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)

Production :

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]

Il sépare les valeurs de la colonne Age dans le DataFrame df en tranches d’âge calculées en utilisant la valeur de l’argument bins de la méthode pandas.cut() et affiche finalement le DataFrame avec la valeur Age-Range pour chaque ligne.

Ici, (20,30] représente les valeurs de 20 à 30, excluant 20 et incluant 30.

Exemple : Distribuer les valeurs dans les bacs et assigner une étiquette à chaque bac en utilisant la méthode pandas.cut()

Par défaut, l’étiquette attribuée à chaque bac sera la plage du bac. Nous pouvons définir les étiquettes de bacs personnalisées en utilisant le paramètre labels de la fonction 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)

Production :

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

Il assigne chaque valeur de la colonne Age à des emplacements et ajoute une étiquette à chaque emplacement unique.

Exemple : Définissez le paramètre retbins=True dans la fonction pandas.cut() Méthode pour retourner les valeurs des bacs

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)

Production :

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]

Il affiche le DataFrame avec les valeurs Age-Range ainsi que les valeurs bin.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Article connexe - Pandas DataFrame