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

Wie kann ich einen Pandas-DataFrame effektiv drehen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-27 15:43:11296Durchsuche

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>)

Beispiele:

  • Pivot auf einer einzelnen 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 benutzerdefinierten Aggregationsfunktionen:
df.pivot(index='row', columns='col', values='val', aggfunc='mean')
  • 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)
  • Andere Methoden zum Pivotieren:
  • 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 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')
  • Mehrfachaggregation 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')

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!

Stellungnahme:
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