„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich einen Pandas-DataFrame effektiv drehen?

Wie kann ich einen Pandas-DataFrame effektiv drehen?

Veröffentlicht am 21.12.2024
Durchsuche:147

How Can I Effectively Pivot a Pandas DataFrame?

Wie kann ich einen Datenrahmen drehen?

Ein Pivot ist eine Transformation, die einen Datenrahmen mit Spalten, die Kategorien darstellen, und Zeilen, die Werte darstellen, nimmt und ihn so neu ausrichtet, dass die Kategorien befinden sich in den Zeilen, die Werte befinden sich in den Spalten und der Index wird auf die ursprünglichen Zeilenwerte gesetzt.

Basic Syntax:

df.pivot(index=, columns=, values=)

Beispiele:

  • Pivot auf eine einzelne Spalte:
df.pivot(index='row', columns='col', values='val')
  • Pivot auf mehrere Spalten:
df.pivot(index=['row', 'item'], columns='col', values='val')
  • Pivot auf mehrere Werte:
df.pivot(index='row', columns='col', values=['val0', 'val1'])
  • Pivot mit benutzerdefinierter Aggregation Funktionen:
df.pivot(index='row', columns='col', values='val', aggfunc='mean')
  • Duplikatbehandlung Schlüssel:

Standardmäßig wird ein Fehler ausgelöst, wenn in den Zeilen- oder Spaltenbeschriftungen doppelte Schlüssel vorhanden sind. Alternativ können Sie Folgendes verwenden:

df.pivot_table(index='row', columns='col', values='val', fill_value=0)
  • Andere Methoden für Pivot:
  • groupby unstack:

    df.groupby('row', 'col')['val'].mean().unstack(fill_value=0)
  • pd.DataFrame.set_index: Verwenden Sie set_index, um die Zeilen- und Spaltenachsen festzulegen und dann zum Pivot zu entstapeln.
  • pd.crossstab: Speziell für die Erstellung von Kreuztabellen oder Pivot-Tabellen entwickelt.

Erweitert Pivotierungstechniken:

  • Kreuztabelle (Häufigkeitszählung):
pd.crosstab(index=df['row'], columns=df['col'], values=df['val'], aggfunc='count')
  • Mehrfache Aggregation Funktionen:
df.pivot_table(index='row', columns='col', values='val', aggfunc=['mean', 'sum'])
  • Unterteilung durch mehrere Spalten:
df.pivot_table(index='row', columns=['item', 'col'], values='val', fill_value=0, aggfunc='mean')
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3