Pivot-Tabellen gehören nach wie vor zu den am meisten geschätzten und am häufigsten verwendeten Tools in MS Excel. Egal, ob Sie Datenanalyst, Dateningenieur oder einfach nur ein normaler Benutzer sind, die Chancen stehen gut, dass Sie bereits ein Faible für MS Excel haben.
Nichtsdestotrotz gibt es immer mehr Möglichkeiten, die Tools und Dienstprogramme von MS Excel zu replizieren, insbesondere in Python. Wussten Sie, dass Sie mit wenigen Codezeilen selbst umfangreiche Pivot-Tabellen in Pythons DataFrames erstellen können?
Ja das ist richtig; Wenn Sie neugierig sind, erfahren Sie hier, wie Sie es tun können.
Voraussetzungen für das Erstellen von Pivot-Tabellen
Wie bei jeder anderen Programmiersprache müssen Sie auch bei Python einige Voraussetzungen erfüllen, bevor Sie mit dem Codieren beginnen können.
Um beim Erstellen Ihrer allerersten Pivot-Tabelle in Python die bestmögliche Erfahrung zu erzielen, benötigen Sie Folgendes:
- Python-IDE: Die meisten Python-Codes haben eine integrierte Entwicklungsumgebung (IDE) auf ihrem System vorinstalliert. Es gibt einige Python-kompatible IDEs auf dem Markt, darunter Jupyter Notebook, Spyder, PyCharm und viele andere.
- Beispieldaten: Zur Veranschaulichung ist hier ein Beispieldatensatz, an dem Sie arbeiten können. Alternativ können Sie diese Codes auch direkt an Ihren Live-Daten anpassen.
Datenbeispiel-Link:Beispiel Superstore
Importieren der wesentlichen Bibliotheken
Da Python nach dem Konzept von Bibliotheken von Drittanbietern arbeitet, müssen Sie die Pandas Bibliothek zum Erstellen von Pivots.
Sie können Pandas dazu verwenden Importieren Sie eine Excel-Datei in Python und speichern Sie die Daten in einem DataFrame. Verwenden Sie zum Importieren von Pandas die importieren Befehl auf folgende Weise:
importieren Pandas wie pd
So erstellen Sie Pivots in Python
Da die Bibliothek jetzt verfügbar ist, müssen Sie die Excel-Datei in Python importieren, das die Basis zum Erstellen und Testen von Pivots in Python darstellt. Speichern Sie die importierten Daten in einem DataFrame mit dem folgenden Code:
# Erstellen Sie einen neuen Datenrahmen
# Ersetzen Sie hier durch Ihren eigenen Pfad
Pfad = "C://Benutzer//Benutzer/OneDrive//Desktop//"
# Hier können Sie den Dateinamen festlegen
Datei = "Beispiel – Superstore.xls"
df = pd.read_excel (Pfad + Datei)
df.Kopf()
Wo:
- df: Variablenname zum Speichern der DataFrame-Daten
- pd: Alias für Pandas-Bibliothek
- read_excel(): Pandas-Funktion zum Einlesen einer Excel-Datei in Python
- Weg: Der Speicherort, an dem die Excel-Datei gespeichert ist (Sample Superstore)
- Datei: Name der zu importierenden Datei
- Kopf(): Zeigt standardmäßig die ersten fünf Zeilen des DataFrame an
Der obige Code importiert die Excel-Datei in Python und speichert die Daten in einem DataFrame. Endlich, das Kopf Die Funktion zeigt die ersten fünf Datenzeilen an.
Diese Funktion ist praktisch, um sicherzustellen, dass die Daten korrekt in Python importiert werden.
Welche Pivot-Tabellenfelder gibt es in Python?
Wie ihr Excel-Gegenstück hat eine Pivot-Tabelle in Python einen ähnlichen Satz von Feldern. Hier sind einige Felder, über die Sie Bescheid wissen müssen:
- Daten: Das Datenfeld bezieht sich auf die Daten, die in einem Python-DataFrame gespeichert sind
- Werte: Spaltenförmige Daten, die in einem Pivot verwendet werden
- Index: Eine Indexspalte(n) zum Gruppieren der Daten
- Säulen: Spalten helfen bei der Aggregation der vorhandenen Daten innerhalb eines DataFrame
Zweck hinter der Verwendung der Indexfunktion
Da die Indexfunktion das primäre Element einer Pivot-Tabelle ist, gibt sie das grundlegende Layout der Daten zurück. Mit anderen Worten, Sie können Ihre Daten mit gruppieren Index Funktion.
Angenommen, Sie möchten einige aggregierte Werte für die in der aufgeführten Produkte anzeigen Segment Säule. Sie können in Python ein vordefiniertes Aggregat (Mittelwert) berechnen, indem Sie die bezeichnete Spalte als Indexwert definieren.
df.pivot_table (Index = "Segment")
Wo:
- df:DataFrame mit den Daten
- Pivot-Tabelle:Pivot-Tabellenfunktion in Python
- Index: Eingebaute Funktion zum Definieren einer Spalte als Index
- Segment: Als Indexwert zu verwendende Spalte
Bei den Variablennamen von Python muss zwischen Groß- und Kleinschreibung unterschieden werden. Vermeiden Sie es daher, von den in diesem Handbuch aufgeführten vordefinierten Variablennamen abzuweichen.
So verwenden Sie Multi-Index-Werte
Wenn Sie mehrere Indexspalten verwenden möchten, können Sie die Spaltennamen in a definieren aufführen innerhalb der Indexfunktion. Sie müssen lediglich die Spaltennamen innerhalb einer Reihe von angeben eckige Klammern ([ ]), Wie nachfolgend dargestellt:
df.pivot_table (index = ["Kategorie", "Unterkategorie"])
Die Pivot-Funktion rückt die Indexspalte in der Ausgabe ein. Python zeigt die bedeuten aller numerischen Werte gegen jeden Indexwert.
Erfahren Sie, wie Sie die Werte in der Ausgabe einschränken
Da Python standardmäßig alle numerischen Spalten auswählt, können Sie die Werte einschränken, um die in der endgültigen Ausgabe angezeigten Ergebnisse zu optimieren. Verwenden Sie die Werte Funktion, um die Spalten zu definieren, die Sie sehen möchten.
df.pivot_table (index = ["Region", "Kategorie", "Unterkategorie"], Werte = "Verkauf")
In der endgültigen Ausgabe gibt es drei Indexspalten und die Mittelwerte für die Sales-Spalte werden jedem Element gegenübergestellt.
Aggregatfunktionen in Pivot-Tabellen definieren
Was passiert, wenn Sie die Mittelwerte nicht standardmäßig berechnen möchten? Die Pivot-Tabelle hat viele weitere Funktionalitäten, die über die Berechnung eines einfachen Mittelwertes hinausgehen.
So schreiben Sie den Code:
df.pivot_table (index = ["Kategorie"], Werte = "Verkauf", aggfunc = [sum, max, min, len])
Wo:
- Summe: Berechnet die Summe der Werte
- maximal: Berechnet den Maximalwert
- Mindest: Berechnet den Maximalwert
- Länge: Berechnet die Anzahl der Werte
Sie können jede dieser Funktionen auch in separaten Codezeilen definieren.
So fügen Sie der Pivot-Tabelle Gesamtsummen hinzu
Kein Datenbestand ist vollständig ohne die Gesamtsummen. Um die Gesamtsummen pro Datenspalte zu berechnen und anzuzeigen, verwenden Sie die Ränder und Ränder_Name Funktion.
df.pivot_table (index = ["Kategorie"], Werte = "Verkauf", aggfunc = [sum, max, min, len], margins=True, margins_name='Gesamtsummen')
Wo:
- Ränder: Funktion zur Berechnung der Gesamtsumme
- Randname: Geben Sie den Namen der Kategorie in der Indexspalte an (z. B. Gesamtsummen).
Ändern und verwenden Sie den endgültigen Code
Hier ist die endgültige Code-Kurzbeschreibung:
importieren Pandas wie pd
# Ersetzen Sie hier durch Ihren eigenen Pfad
Pfad = "C://Benutzer//Benutzer/OneDrive//Desktop//"
# Hier können Sie den Dateinamen festlegen
Datei = "Beispiel – Superstore.xls"
df = pd.read_excel (Pfad + Datei)
df.pivot_table (index = ["Region", "Kategorie", "Unterkategorie"], Werte = "Verkauf",
aggfunc = [Summe, Max, Min, Länge],
Ränder =WAHR,
Ränder_Name='Gesamtsummen')
Erstellen von Pivot-Tabellen in Python
Wenn Sie Pivot-Tabellen verwenden, sind die Optionen einfach endlos. Mit Python können Sie problemlos riesige Datenarrays handhaben, ohne sich Gedanken über Datenabweichungen und Systemverzögerungen machen zu müssen.
Da die Funktionalitäten von Python nicht darauf beschränkt sind, Daten nur in Pivots zu verdichten, können Sie mehrere Excel-Arbeitsmappen und -blätter kombinieren und gleichzeitig eine Reihe verwandter Funktionen mit Python ausführen.
Mit Python gibt es immer etwas Neues am Horizont.