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

Einen Kommentar hinzufügen

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