Pandas: so verwenden sie factorize(), um zeichenfolgen als zahlen zu kodieren
Die Pandas- Factorize()- Funktion kann verwendet werden, um Zeichenfolgen als numerische Werte zu kodieren.
Sie können die folgenden Methoden verwenden, um die Funktion „factorize()“ auf die Spalten eines Pandas-DataFrames anzuwenden:
Methode 1: Faktorisieren Sie eine Spalte
df[' col1 '] = pd. factorize (df[' col '])[0]
Methode 2: Faktorisieren Sie bestimmte Spalten
df[[' col1 ', ' col3 ']] = df[[' col1 ', ' col3 ']]. apply ( lambda x: pd.factorize (x)[ 0 ])
Methode 3: Alle Spalten faktorisieren
df = df. apply ( lambda x: pd.factorize (x)[ 0 ])
Das folgende Beispiel zeigt, wie jede Methode mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd #createDataFrame df = pd. DataFrame ({' conf ': ['West', 'West', 'East', 'East'], ' team ': ['A', 'B', 'C', 'D'], ' position ': ['Guard', 'Forward', 'Guard', 'Center'] }) #view DataFrame df conf team position 0 West A Guard 1 West B Forward 2 East C Guard 3 East D Center
Beispiel 1: Faktorisieren Sie eine Spalte
Der folgende Code zeigt, wie eine Spalte im DataFrame faktorisiert wird:
#factorize the conf column only df[' conf '] = pd. factorize (df[' conf '])[ 0 ] #view updated DataFrame df conf team position 0 0 A Guard 1 0 B Forward 2 1 C Guard 3 1 D Center
Beachten Sie, dass nur die Spalte „conf“ berücksichtigt wurde.
Jeder Wert, der „West“ war, ist jetzt 0 und jeder Wert, der „Ost“ war, ist jetzt 1.
Beispiel 2: Faktorspezifische Spalten
Der folgende Code zeigt, wie bestimmte Spalten im DataFrame faktorisiert werden:
#factorize conf and team columns only df[[' conf ', ' team ']] = df[[' conf ', ' team ']]. apply ( lambda x: pd.factorize (x)[ 0 ]) #view updated DataFrame df conf team position 0 0 0 Guard 1 0 1 Forward 2 1 2 Guard 3 1 3 Center
Beachten Sie, dass die Spalten „conf“ und „team“ beide berücksichtigt wurden.
Beispiel 3: Faktorisieren Sie alle Spalten
Der folgende Code zeigt, wie alle Spalten im DataFrame faktorisiert werden:
#factorize all columns df = df. apply ( lambda x: pd.factorize (x)[ 0 ]) #view updated DataFrame df conf team position 0 0 0 0 1 0 1 1 2 1 2 0 3 1 3 2
Beachten Sie, dass alle Spalten faktorisiert wurden.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:
So konvertieren Sie Pandas DataFrame-Spalten in Zeichenfolgen
So konvertieren Sie eine kategoriale Variable in Pandas in eine numerische Variable
So konvertieren Sie Pandas DataFrame-Spalten in Ganzzahlen