Bild vom Autor | Midjourney
Ich zeige Ihnen, wie Sie die Pandas verwenden pivot_table
Funktion für Ihre Datenzusammenfassung.
Vorbereitung
Beginnen wir mit der Set up der erforderlichen Pakete.
pip set up pandas seaborn
Anschließend laden wir die Pakete und das Datensatzbeispiel, nämlich Titanic.
import pandas as pd
import seaborn as sns
titanic = sns.load_dataset('titanic')
Fahren wir mit dem nächsten Abschnitt fort, nachdem das Paket erfolgreich installiert und der Datensatz geladen wurde.
Pivot-Tabelle mit Pandas
Pivot-Tabellen in Pandas ermöglichen eine versatile Neuorganisation und Analyse von Daten. Sehen wir uns einige praktische Anwendungen an und beginnen wir mit der einfachen.
pivot = pd.pivot_table(titanic, values="age", index='class', columns="intercourse", aggfunc="imply")
print(pivot)
Output>>>
intercourse feminine 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 den Passagierklassen auf der vertikalen Achse und den Geschlechterkategorien oben.
Mit der Pivot-Tabelle können wir sogar noch weiter gehen und sowohl den Mittelwert als auch die Summe der Fahrpreise berechnen.
pivot = pd.pivot_table(titanic, values="fare", index='class', columns="intercourse", aggfunc=('imply', 'sum'))
print(pivot)
Output>>>
imply sum
intercourse feminine male feminine 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 zwischen den Maximal- und Minimalwerten der Daten nimmt und durch zwei dividiert.
def data_div_two(x):
return (x.max() - x.min())/2
pivot = pd.pivot_table(titanic, values="age", index='class', columns="intercourse", aggfunc=data_div_two)
print(pivot)
Output>>>
intercourse feminine male
class
First 30.500 39.540
Second 27.500 34.665
Third 31.125 36.790
Zuletzt können Sie die Margen hinzufügen, um die Unterschiede zwischen dem Gesamtgruppierungsdurchschnitt und der spezifischen Untergruppe anzuzeigen.
pivot = pd.pivot_table(titanic, values="age", index='class', columns="intercourse", aggfunc="imply", margins=True)
print(pivot)
Output>>>
intercourse feminine 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
Beherrschung der pivot_table
Funktion würde es Ihnen ermöglichen, Erkenntnisse aus Ihrem Datensatz zu gewinnen.
Zusätzliche Ressourcen
Cornellius Yudha Wijaya ist Knowledge Science Assistant Supervisor und Datenautor. Während seiner Vollzeitbeschäftigung bei Allianz Indonesien teilt er gerne Python- und Datentipps über soziale Medien und in den Medien. Cornellius schreibt über eine Vielzahl von KI- und maschinellen Lernthemen.