Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich einen Pandas-DataFrame effektiv drehen?

Wie kann ich einen Pandas-DataFrame effektiv drehen?

Barbara Streisand
Freigeben: 2024-12-27 15:43:11
Original
303 Leute haben es durchsucht

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.

Einfach Syntax:

df.pivot(index=<row_labels>, columns=<col_labels>, values=<value_cols>)
Nach dem Login kopieren

Beispiele:

  • Pivot auf einer einzelnen Spalte:
df.pivot(index='row', columns='col', values='val')
Nach dem Login kopieren
  • Pivot auf mehrere Spalten:
df.pivot(index=['row', 'item'], columns='col', values='val')
Nach dem Login kopieren
  • Pivot auf mehrere Werte:
df.pivot(index='row', columns='col', values=['val0', 'val1'])
Nach dem Login kopieren
  • Pivot mit benutzerdefinierten Aggregationsfunktionen:
df.pivot(index='row', columns='col', values='val', aggfunc='mean')
Nach dem Login kopieren
  • Umgang mit Duplikaten 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)
Nach dem Login kopieren
  • Andere Methoden zum Pivotieren:
  • groupby unstack:

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

Erweiterte Pivot-Techniken:

  • Kreuztabelle (Häufigkeitszählung) :
pd.crosstab(index=df['row'], columns=df['col'], values=df['val'], aggfunc='count')
Nach dem Login kopieren
  • Mehrfachaggregation Funktionen:
df.pivot_table(index='row', columns='col', values='val', aggfunc=['mean', 'sum'])
Nach dem Login kopieren
  • Unterteilung durch mehrere Spalten:
df.pivot_table(index='row', columns=['item', 'col'], values='val', fill_value=0, aggfunc='mean')
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich einen Pandas-DataFrame effektiv drehen?. 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