Heim > Backend-Entwicklung > Python-Tutorial > Wie konvertiert man kategoriale Pandas-Spalten in numerische Indizes ohne „get_dummies' und „numpy'?

Wie konvertiert man kategoriale Pandas-Spalten in numerische Indizes ohne „get_dummies' und „numpy'?

Susan Sarandon
Freigeben: 2024-10-27 22:51:02
Original
546 Leute haben es durchsucht

How to Convert Pandas Categorical Columns to Numerical Indices Without `get_dummies` and `numpy`?

Konvertieren Sie Pandas-Kategorien in Zahlen

Betrachten Sie einen DataFrame mit einer kategorialen Spalte, z. B. Ländercodes:

cc | temp
US | 37.0
CA | 12.0
US | 35.0
AU | 20.0
Nach dem Login kopieren

So konvertieren Sie diese Kategorien in Indizes erstellen und die Verwendung von get_dummies und numpy vermeiden. Beachten Sie die folgenden Schritte:

  1. Spalte kategorisieren: Konvertieren Sie die kategoriale Spalte in einen kategorialen Typ:
df.cc = pd.Categorical(df.cc)
Nach dem Login kopieren
  1. Kategoriecodes abrufen: Verwenden Sie das .codes-Attribut, um die Ganzzahlcodes für jede Kategorie abzurufen:
df['code'] = df.cc.codes
Nach dem Login kopieren

Der resultierende DataFrame enthält a neue Spalte namens Code mit den numerischen Indizes:

   cc  temp  code
0  US  37.0     2
1  CA  12.0     1
2  US  35.0     2
3  AU  20.0     0
Nach dem Login kopieren

Alternativ können Sie die Kategoriecodes erhalten, ohne den DataFrame zu ändern:

df.cc.astype('category').codes
Nach dem Login kopieren
  1. Als Index verwenden: Bei Bedarf können Sie die kategoriale Spalte als Index für einen anderen DataFrame verwenden:
df2 = pd.DataFrame(df.temp)
df2.index = pd.CategoricalIndex(df.cc)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie konvertiert man kategoriale Pandas-Spalten in numerische Indizes ohne „get_dummies' und „numpy'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage