Pandas cut Funktion

Suraj Joshi 30 Januar 2023
  1. pandas.cut() Funktion Syntax
  2. Beispiel: Verteilen von Spaltenwerten eines DataFrame in Bins mit der Methode pandas.cut()
  3. Beispiel: Verteilen von Werten in Bins und Zuweisen eines Labels zu jedem Bin mit der Methode pandas.cut()
  4. Beispiel: Setzen Sie retbins=True in der Methode pandas.cut(), um die Bin-Werte zurückzugeben
Pandas cut Funktion

Die pandas.cut() Funktion kann die gegebenen Daten in Bereiche, auch bins genannt, verteilen.

Wir werden in diesem Artikel den unten stehenden DataFrame verwenden.

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)

Ausgabe:

     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() Funktion Syntax

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

Parameter

x Das angegebene Array
bins Die Kriterien für die Binierung der Daten
right Boolescher Wert. Wenn True, wird auch die ganz rechte Nummer des Bins einbezogen.
labels Array. Bezeichnungen für die Bins.
retbins Boolescher Wert. Wenn True, werden die Bins zurückgegeben.
precision Ganzzahl. Präzision für die Speicherung und Anzeige von bins
ordered Boolescher Wert. Wenn True, werden die resultierenden Etiketten geordnet

Zurück

Es wird ein Array zurückgegeben, das aus Bin-Werten für jedes Element im Array x besteht. Es gibt auch die Bins zurück, wenn wir retbins=True gesetzt haben.

Beispiel: Verteilen von Spaltenwerten eines DataFrame in Bins mit der Methode 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)

Ausgabe:

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]

Es werden die Werte der Spalte Age im DataFrame df in die Altersbereiche aufgeteilt, die mit dem Wert des Arguments bins in der Methode pandas.cut() berechnet wurden, und schließlich wird der DataFrame mit dem Wert Age-Range für jede Zeile angezeigt.

Hier stellt (20,30] die Werte von 20 bis 30 dar, mit Ausnahme von 20 und einschließlich 30.

Beispiel: Verteilen von Werten in Bins und Zuweisen eines Labels zu jedem Bin mit der Methode pandas.cut()

Standardmäßig wird jedem Bin eine Beschriftung zugewiesen, die dem Bereich des Bin entspricht. Wir können die benutzerdefinierten Bin-Beschriftungen mit dem Parameter labels in der Funktion pandas.cut() festlegen.

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)

Ausgabe:

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

Die Funktion ordnet jeden Wert der Spalte age in Bins zu und fügt jedem eindeutigen Bin ein Label hinzu.

Beispiel: Setzen Sie retbins=True in der Methode pandas.cut(), um die Bin-Werte zurückzugeben

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)

Ausgabe:

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]

Es wird der DataFrame mit den Age-Range-Werten zusammen mit den Bin-Werten angezeigt.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Verwandter Artikel - Pandas DataFrame