So verwenden Sie die Funktion „pivot_table“ für die erweiterte Datenzusammenfassung in Pandas


Lassen Sie uns lernen, Pandas Pivot_table in Python zu verwenden, um eine erweiterte Datenzusammenfassung durchzuführen

Lassen Sie mich Ihnen zeigen, wie Sie die Pandas-Funktion pivot_table für Ihre Datenzusammenfassung verwenden.

Vorbereitung

Beginnen wir mit der Installation der notwendigen Pakete.

pip install pandas seaborn

Dann würden wir die Pakete und den Beispieldatensatz laden, der Titanic ist.

import pandas as pd
import seaborn as sns

titanic = sns.load_dataset('titanic')

Fahren wir mit dem nächsten Abschnitt fort, nachdem wir das Paket erfolgreich installiert und den Datensatz geladen haben.

Pivot-Tisch mit Pandas

Pivot-Tabellen in Pandas ermöglichen eine flexible Datenreorganisation und -analyse. Lassen Sie uns einige praktische Anwendungen untersuchen, beginnend mit der einfachen.

pivot = pd.pivot_table(titanic, values='age', index='class', columns='sex', aggfunc='mean')
print(pivot)
Output>>>
sex        female       male
class                       
First   34.611765  41.281386
Second  28.722973  30.740707
Third   21.750000  26.507589

Die resultierende Pivot-Tabelle zeigt das Durchschnittsalter, mit Passagierklassen auf der vertikalen Achse und Geschlechtskategorien oben.

Mit der Pivot-Tabelle können wir sogar noch weiter gehen, um sowohl den Mittelwert als auch die Summe der Tarife zu berechnen.

pivot = pd.pivot_table(titanic, values='fare', index='class', columns='sex', aggfunc=['mean', 'sum'])
print(pivot)
Output>>>
             mean                   sum           
sex         female       male     female       male
class                                              
First   106.125798  67.226127  9975.8250  8201.5875
Second   21.970121  19.741782  1669.7292  2132.1125
Third    16.118810  12.661633  2321.1086  4393.5865

Wir können unsere Funktion erstellen. Beispielsweise erstellen wir eine Funktion, die die Differenzen der maximalen und minimalen Datenwerte durch zwei dividiert.

def data_div_two(x):
    return (x.max() - x.min())/2

pivot = pd.pivot_table(titanic, values='age', index='class', columns='sex', aggfunc=data_div_two)
print(pivot)
Output>>>
sex     female    male
class                 
First   30.500  39.540
Second  27.500  34.665
Third   31.125  36.790

Schließlich können Sie die Ränder hinzufügen, um die Unterschiede zwischen dem Gesamtgruppierungsdurchschnitt und der spezifischen Untergruppe anzuzeigen.

pivot = pd.pivot_table(titanic, values='age', index='class', columns='sex', aggfunc='mean', margins=True)
print(pivot)
Output>>>
sex        female       male        All
class                                  
First   34.611765  41.281386  38.233441
Second  28.722973  30.740707  29.877630
Third   21.750000  26.507589  25.140620
All     27.915709  30.726645  29.699118

Wenn Sie die Funktion pivot_table beherrschen, können Sie Erkenntnisse aus Ihrem Datensatz gewinnen.

Verwandte Artikel