Pandas – Konvertieren Sie kategoriale Werte in int-Werte

Algorithmen für maschinelles Lernen oder beliebige Datenstrukturen wie DataFrame in Python werden mit verschiedenen Datentypen wie numerischen und kategorialen Variablen verwendet. Numerische Variablen sind Werte, die gemessen oder gezählt werden können, während kategoriale Variablen Werte sind, die zu einer bestimmten Kategorie gehören, beispielsweise Hautfarbe, Geschlecht oder Beruf. Manchmal müssen wir kategoriale Werte in int-Werte konvertieren, um einige numerische Operationen an den Kategoriewerten von DataFrame durchzuführen. In Python werden verschiedene Methoden verwendet, um diese Aufgabe zu erfüllen.

In diesem Blog wird anhand mehrerer Beispiele ein umfassendes Tutorial zum Konvertieren kategorialer Werte von Pandas DataFrame in Ganzzahlwerte erläutert.

Wie konvertiert man kategoriale Werte in Pandas in Ganzzahlen?

Um kategoriale Werte in Pandas DataFrame in Ganzzahlen umzuwandeln, werden in Python die folgenden Methoden verwendet:

Methode 1: Kategoriale Werte mit „DataFrame.replace()“ in Ganzzahlen konvertieren

Der „ersetzen()Die Methode konvertiert die kategorialen Werte der Pandas DataFrame-Spalte in Ganzzahlen. Sehen wir uns den folgenden Code an, um dies zu verstehen:

Pandas importieren
df = pandas.DataFrame({‚Name‘: [‚Joseph‘, ‚Joseph‘, ‚Lily‘, ‚Lily‘, ‚Henry‘, ‚Henry‘, ‚Tim‘],’Team‘: [‚A‘, ‚A‘, ‚B‘, ‚B‘, ‚C‘, ‚C‘, ‚D‘],’Scores‘: [15, 17, 17, 19, 15, 19, 19],’Geschlecht‘: [‚M‘, ‚M‘, ‚F‘, ‚F‘, ‚M‘, ‚M‘, ‚M‘]})
print(df, ‚\n‘)
df[‚Gender‘]=df[‚Gender‘].ersetzen([‚M‘, ‚F‘],[0, 1])
drucken(df)

Im obigen Code:

  • Der „PandasDas Modul wird importiert und der DataFrame erstellt.
  • Der „df.replace()Die Methode wird verwendet, um die kategorialen Werte der „GeschlechtSpalte mit den Ganzzahlen „0“ und „1“.

Ausgabe

Die kategorialen Werte der angegebenen Spalte wurden in int-Werte konvertiert.

Methode 2: Konvertieren Sie kategoriale Werte in ganze Zahlen mit „pd.factorize()“

Der „pandas.factorize()Die Methode ruft die numerische Darstellung des angegebenen Arrays in Python ab. Diese Methode kann verwendet werden, um die kategorialen DataFrame-Werte in Ganzzahlen umzuwandeln.

Beispiel 1: Konvertieren Sie einzelne kategoriale Spaltenwerte von DataFrame in Ganzzahlen

Sehen wir uns den folgenden Code an:

Pandas importieren
df = pandas.DataFrame({‚Name‘: [‚Joseph‘, ‚Joseph‘, ‚Lily‘, ‚Lily‘, ‚Henry‘, ‚Henry‘, ‚Tim‘],’Team‘: [‚A‘, ‚A‘, ‚B‘, ‚B‘, ‚C‘, ‚C‘, ‚D‘],’Scores‘: [15, 17, 17, 19, 15, 19, 19],’Geschlecht‘: [‚M‘, ‚M‘, ‚F‘, ‚F‘, ‚M‘, ‚M‘, ‚M‘]})
print(df, ‚\n‘)
df[‚Gender‘]=pandas.factorize(df[‚Gender‘])[0]

drucken(df)

Im obigen Code:

  • Der „Pandas„Modul wird importiert.
  • Der „pandas.DataFrame()Die Methode erstellt einen DataFrame mit mehreren Spalten.
  • Der „pandas.factorize()Die Methode „Geschlecht“ wird verwendet, um die Werte der Spalte „Geschlecht“ in numerische oder ganzzahlige Werte umzuwandeln.

Der DataFrame-Spaltenwert wurde in Ganzzahlwerte konvertiert.

Beispiel 2: Konvertieren mehrerer kategorialer Spaltenwerte von DataFrame in Ganzzahlen

Wir können auch die Methode „pandas.factorize()“ zusammen mit der Methode „apply()“ verwenden, um die gesamten oder mehrere DataFrame-Spalten in ganzzahlige Werte umzuwandeln. Hier ist ein Beispielcode:

Pandas importieren
df = pandas.DataFrame({‚Name‘: [‚Joseph‘, ‚Joseph‘, ‚Lily‘, ‚Lily‘, ‚Henry‘, ‚Henry‘, ‚Tim‘],’Team‘: [‚A‘, ‚A‘, ‚B‘, ‚B‘, ‚C‘, ‚C‘, ‚D‘],’Scores‘: [15, 17, 17, 19, 15, 19, 19],’Geschlecht‘: [‚M‘, ‚M‘, ‚F‘, ‚F‘, ‚M‘, ‚M‘, ‚M‘]})
print(df, ‚\n‘)
df[[‚Name‘, ‚Gender‘]]= df[[‚Name‘, ‚Gender‘]].apply(lambda x: pandas.factorize(x)[0])
drucken(df)

Im obigen Code:

  • Der „df.apply()Die Methode verwendet die Methode „Lambda”-Funktion als Argument und wendet diese Funktion auf die Werte jeder angegebenen Spalte an.
  • Der „pandas.factorize()Die Methode „“ ist in der Lambda-Funktion definiert, um die angegebenen Spaltenwerte in ganzzahlige Werte umzuwandeln.

Ausgabe

Die kategorialen Werte der mehreren Spalten wurden in Ganzzahlen konvertiert/transformiert.

Methode 3: Konvertieren Sie kategoriale Werte in Ganzzahlen mit „LabelEncoder()“

Der „LabelEncoder()Die Methode „“ kann auch verwendet werden, um den Wert der nicht numerischen Beschriftung in numerische Beschriftungen umzuwandeln. Diese Methode wird verwendet, um die kategorialen DataFrame-Werte mithilfe des folgenden Codes in Ganzzahlen umzuwandeln:

Pandas importieren
Importieren Sie LabelEncoder aus sklearn.preprocessing
df = pandas.DataFrame({‚Name‘: [‚Joseph‘, ‚Joseph‘, ‚Lily‘, ‚Lily‘, ‚Henry‘, ‚Henry‘, ‚Tim‘],’Team‘: [‚A‘, ‚A‘, ‚B‘, ‚B‘, ‚C‘, ‚C‘, ‚D‘],’Scores‘: [15, 17, 17, 19, 15, 19, 19],’Geschlecht‘: [‚M‘, ‚M‘, ‚F‘, ‚F‘, ‚M‘, ‚M‘, ‚M‘]})
print(df, ‚\n‘)
df[‚Gender‘]=LabelEncoder().fit_transform(df[‚Gender‘])
drucken(df)

Hier in diesem Code:

  • Der „Pandas” Modul und das „LabelEncoder„Methode aus der „sklearn”-Modul werden importiert.
  • Der „LabelEncoder()Die Methode wird zusammen mit der Methode „fit_transform()”-Methode zum Konvertieren der kategorialen Werte in ganze Zahlen und passt die transformierten/modifizierten Werte an.

Ausgabe

Die kategorialen Werte der Spalte „Geschlecht” wurden in ganze Zahlen umgewandelt.

Abschluss

Der „DataFrame.replace()“, „pandas.factorize()„, und das „LabelEncoder()”-Methoden werden verwendet, um kategoriale Werte in Ganzzahlen in Pandas DataFrame umzuwandeln. Diese Methoden können die nicht numerischen Werte bestimmter DataFrame-Spalten effizient in Ganzzahlen konvertieren. In diesem Artikel wurde anhand verschiedener Beispiele eine ausführliche Anleitung zur Konvertierung der kategorialen Werte in int bereitgestellt.

Kommentar verfassen

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

Nach oben scrollen