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.