So erstellen sie kategoriale variablen in pandas (mit beispielen)


Sie können eine der folgenden Methoden verwenden, um eine kategoriale Variable in Pandas zu erstellen:

Methode 1: Erstellen Sie eine kategoriale Variable von Grund auf

 df[' cat_variable '] = [' A ', ' B ', ' C ', ' D ']

Methode 2: Erstellen Sie eine kategoriale Variable aus einer vorhandenen numerischen Variablen

 df[' cat_variable '] = pd. cut (df[' numeric_variable '],
                            bins=[ 0,15,25 ,float(' Inf ') ] ,
                            labels=[' Bad ', ' OK ', ' Good '])

Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis angewendet werden.

Beispiel 1: Erstellen Sie eine kategoriale Variable von Grund auf

Der folgende Code zeigt, wie man einen Pandas-DataFrame mit einer kategorialen Variablen namens „ team “ und einer numerischen Variablen namens „ points“ erstellt:

 import pandas as pd

#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [12, 15, 19, 22, 24, 25, 26, 30]})

#view DataFrame
print (df)

  team points
0 to 12
1 B 15
2 C 19
3 D 22
4 E 24
5 F 25
6 G 26
7:30 a.m.

#view data type of each column in DataFrame
print ( df.dtypes )

team object
int64 dots
dtype:object

Mit df.dtypes können wir den Datentyp jeder Variablen im DataFrame sehen.

Wir sehen:

  • Die Teamvariable ist ein Objekt .
  • Die Punktevariable ist eine Ganzzahl .

In Python entspricht ein Objekt einem Zeichen oder einer „kategorialen“ Variablen. Somit ist die Teamvariable eine kategoriale Variable.

Beispiel 2: Erstellen Sie eine kategoriale Variable aus einer vorhandenen numerischen Variablen

Der folgende Code zeigt, wie man aus der vorhandenen numerischen Variablen namens „ points“ im DataFrame eine kategoriale Variable namens „ status“ erstellt:

 import pandas as pd

#create DataFrame with one categorical variable and one numeric variable
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [12, 15, 19, 22, 24, 25, 26, 30]})

#create categorical variable 'status' based on existing numerical 'points' variable
df[' status '] = pd. cut (df[' points '],
                      bins=[ 0,15,25 ,float(' Inf ') ] ,
                      labels=[' Bad ', ' OK ', ' Good '])

#view updated DataFrame
print (df)

  team points status
0 To 12 Bad
1 B 15 Bad
2 C 19 OK
3 D 22 OK
4 E 24 OK
5 F 25 OK
6 G 26 Good
7:30 a.m. Good

Mit der Funktion „cut()“ haben wir eine neue kategoriale Variable namens „status“ erstellt, die die folgenden Werte annimmt:

  • Schlecht “, wenn der Wert in der Punktespalte kleiner oder gleich 15 ist.
  • Andernfalls „ OK “, wenn der Wert in der Punktespalte kleiner oder gleich 25 ist.
  • Ansonsten „ Gut “.

Beachten Sie, dass bei Verwendung der Funktion „cut()“ die Anzahl der Etiketten um eins kleiner sein muss als die Anzahl der Behälter .

In unserem Beispiel haben wir vier Werte für Boxen verwendet, um die Ränder der Boxen zu definieren, und drei Werte für Beschriftungen , um die Beschriftungen anzugeben, die für die kategoriale Variable verwendet werden sollen.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Panda-Aufgaben ausführen:

So erstellen Sie Dummy-Variablen in Pandas
So konvertieren Sie eine kategoriale Variable in Pandas in eine numerische Variable
So konvertieren Sie boolesche Werte in Pandas in ganzzahlige Werte

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert