So erstellen Sie eine Pivot -Tabelle in Pandas Python

So erstellen Sie eine Pivot -Tabelle in Pandas Python
In Pandas Python enthält die Pivot -Tabelle Summen, Zählungen oder Aggregationen, die aus einer Datentabelle stammen. Aggregationsfunktionen können für verschiedene Funktionen oder Werte verwendet werden. Eine Pivot -Tabelle ermöglicht es uns, die durch verschiedenen Werte gruppierten Tabellendaten, einschließlich der kategorialen Spaltenwerte, zusammenzufassen.

Stellen Sie vor der Verwendung von Pandas Pivot -Tabelle sicher, dass Sie Ihre Daten und Fragen verstehen, die Sie durch die Pivot -Tabelle lösen möchten. Mit dieser Methode können Sie leistungsstarke Ergebnisse erzielen. Wir werden in diesem Artikel näher erläutern, wie man in Pandas Python eine Pivot -Tabelle erstellt.

Daten aus der Excel -Datei lesen

Wir haben eine Excel -Datenbank mit Lebensmittelverkäufen heruntergeladen. Vor Beginn der Implementierung müssen Sie einige erforderliche Pakete zum Lesen und Schreiben der Excel -Datenbankdateien installieren. Geben Sie den folgenden Befehl in den Terminalabschnitt Ihres Pycharm -Editors ein:

PIP Installieren Sie XLWT OpenPYXL XLSXWriter XLRD

Lesen Sie nun Daten aus dem Excel -Blatt. Importieren Sie die erforderlichen Pandas -Bibliotheken und ändern Sie den Pfad Ihrer Datenbank. Wenn Sie den folgenden Code ausführen, können Daten aus der Datei abgerufen werden.

Pandas als PD importieren
Numph als NP importieren
dtfrm = pd.read_excel ('c:/user/dell/desktop/foodsalesdata.XLSX ')
Druck (DTFRM)

Hier werden die Daten aus der Excel -Datenbank für Lebensmittelverkauf gelesen und in die DataFrame -Variable übergeben.

Erstellen Sie Pivot -Tabelle mit Pandas Python

Im Folgenden haben wir eine einfache Pivot -Tabelle mithilfe der Lebensmittelverkaufsdatenbank erstellt. Es sind zwei Parameter erforderlich, um eine Pivot -Tabelle zu erstellen. Der erste sind Daten, die wir in den Datenrahmen übergeben haben, und der andere ist ein Index.

Drehdaten auf einem Index

Der Index ist die Funktion einer Pivot -Tabelle, mit der Sie Ihre Daten basierend auf den Anforderungen gruppieren können. Hier haben wir "Produkt" als Index genommen, um eine grundlegende Pivot -Tabelle zu erstellen.

Pandas als PD importieren
Numph als NP importieren
DataFrame = Pd.read_excel ('c:/user/dell/desktop/foodsalesdata.XLSX ')
pivot_tble = pd.pivot_table (DataFrame, Index = ["Produkt"])
print (pivot_tble)

Das folgende Ergebnis zeigt nach dem Ausführen des oben genannten Quellcodes:

Spalten explizit definieren

Definieren Sie die Spaltennamen mit dem Index explizit, um weitere Analysen Ihrer Daten zu erhalten. Zum Beispiel möchten wir den einzigen Unitprice jedes Produkts im Ergebnis anzeigen. Fügen Sie zu diesem Zweck den Parameter der Werte in Ihre Pivot -Tabelle hinzu. Der folgende Code gibt Ihnen das gleiche Ergebnis:

Pandas als PD importieren
Numph als NP importieren
DataFrame = Pd.read_excel ('c:/user/dell/desktop/foodsalesdata.XLSX ')
pivot_tble = pd.PIVOT_TABLE (DataFrame, Index = 'Produkt', Werte = 'UnitPrice')
print (pivot_tble)

Drehdaten mit Multi-Index

Daten können basierend auf mehr als einer Funktion als Index gruppiert werden. Durch die Verwendung des Multi-Index-Ansatzes können Sie spezifischere Ergebnisse für die Datenanalyse erzielen. Zum Beispiel werden Produkte in verschiedene Kategorien geraten. Sie können also den Index "Produkt" und "Kategorie" mit der verfügbaren "Menge" und "UnitPrice" jedes Produkts wie folgt anzeigen:

Pandas als PD importieren
Numph als NP importieren
DataFrame = Pd.read_excel ('c:/user/dell/desktop/foodsalesdata.XLSX ')
pivot_tble = pd.pivot_table (DataFrame, Index = ["Kategorie", "Produkt"], Werte = ["Unitprice", "Menge"])
print (pivot_tble)

Anwendung der Aggregationsfunktion in der Pivot -Tabelle

In einer Pivot -Tabelle kann der AgGFunc für verschiedene Merkmalswerte angewendet werden. Die resultierende Tabelle ist die Zusammenfassung von Merkmalsdaten. Die Aggregatfunktion gilt für Ihre Gruppendaten in Pivot_table. Standardmäßig ist die Aggregatfunktion NP.bedeuten(). Basierend auf den Benutzeranforderungen können unterschiedliche Gesamtfunktionen für verschiedene Datenfunktionen gelten.

Beispiel:

Wir haben in diesem Beispiel Aggregatfunktionen angewendet. Der NP.SUM () -Funktion wird für die Merkmalsmenge und NP verwendet.Mean () Funktion für 'UnitPrice' Funktion.

Pandas als PD importieren
Numph als NP importieren
DataFrame = Pd.read_excel ('c:/user/dell/desktop/foodsalesdata.XLSX ')
pivot_tble = pd.pivot_table (DataFrame, Index = ["Kategorie", "Produkt"], Aggfunc = 'Quantity': NP.Summe, 'UnitPrice': NP.bedeuten)
print (pivot_tble)

Nachdem Sie die Aggregationsfunktion für verschiedene Funktionen angewendet haben, erhalten Sie die folgende Ausgabe:

Verwenden des Wertes Parameters können Sie auch die Aggregatfunktion für eine bestimmte Funktion anwenden. Wenn Sie nicht den Wert der Funktion angeben, aggregiert dies die numerischen Funktionen Ihrer Datenbank. Wenn Sie dem angegebenen Quellcode folgen, können Sie die Aggregatfunktion für eine bestimmte Funktion anwenden:

Pandas als PD importieren
Numph als NP importieren
DataFrame = Pd.read_excel ('c:/user/dell/desktop/foodsalesdata.XLSX ')
pivot_tble = pd.pivot_table (DataFrame, Index = ['produkt'], values ​​= ['unitprice'], Aggfunc = np.bedeuten)
print (pivot_tble)

Unterschiedlich zwischen Werten vs. Spalten in Pivot -Tabelle

Die Werte und Spalten sind der Hauptverwirrungspunkt im pivot_table. Es ist wichtig zu beachten. Die Aggfunc -Aggregationsfunktion gilt für das von Ihnen aufgeführte Wertefeld.

Pandas als PD importieren
Numph als NP importieren
DataFrame = Pd.read_excel ('c:/user/dell/desktop/foodsalesdata.XLSX ')
pivot_tble = pd.pivot_table (DataFrame, Index = ['Kategorie', 'Produkt', 'City'], values ​​= ['Unitprice', 'Quantity'],
Spalten = ['Region'], Aggfunc = [NP.Summe])
print (pivot_tble)

Umgang mit fehlenden Daten in der Pivot -Tabelle

Sie können die fehlenden Werte in der Pivot -Tabelle auch mit der Verwendung der Pivot -Tabelle verarbeiten 'fill_value' ' Parameter. Auf diese Weise können Sie die NAN -Werte durch einen neuen Wert ersetzen, den Sie zum Ausfüllen bieten.

Zum Beispiel haben wir alle Nullwerte aus der obigen resultierenden Tabelle entfernt, indem wir den folgenden Code ausführen und die NAN -Werte in der gesamten resultierenden Tabelle durch 0 ersetzt.

Pandas als PD importieren
Numph als NP importieren
DataFrame = Pd.read_excel ('c:/user/dell/desktop/foodsalesdata.XLSX ')
pivot_tble = pd.pivot_table (DataFrame, Index = ['Kategorie', 'Produkt', 'City'], values ​​= ['Unitprice', 'Quantity'],
Spalten = ['Region'], Aggfunc = [NP.sum], fill_value = 0)
print (pivot_tble)

Filterung in Pivot -Tabelle

Sobald das Ergebnis generiert ist, können Sie den Filter mit der Standarddatenfunktionsfunktion anwenden. Nehmen wir ein Beispiel. Filtern Sie die Produkte, deren Unitprice weniger als 60 ist. Es zeigt die Produkte, deren Preis weniger als 60 beträgt.

Pandas als PD importieren
Numph als NP importieren
DataFrame = Pd.read_excel ('c:/user/dell/desktop/foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.PIVOT_TABLE (DataFrame, Index = 'Produkt', Werte = 'UnitPrice', Aggfunc = 'sum')
low_price = pivot_tble [pivot_tble ['unitprice'] < 60]
print (low_price)

Mithilfe einer anderen Abfragemethode können Sie Ergebnisse filtern. Zum Beispiel haben wir beispielsweise die Kategorie Cookies basierend auf den folgenden Funktionen gefiltert:

Pandas als PD importieren
Numph als NP importieren
DataFrame = Pd.read_excel ('c:/user/dell/desktop/foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.pivot_table (DataFrame, Index = ["Kategorie", "Stadt", "Region"], Werte = ["Unitprice", "Menge"], Aggfunc = np.Summe)
pt = pivot_tble.Abfrage ('Kategorie == ["Cookies"]')
drucken (pt)

Ausgang:

Visualisieren Sie die Pivot -Tabellendaten

Um die Pivot -Tabellendaten zu visualisieren, folgen Sie der folgenden Methode:

Pandas als PD importieren
Numph als NP importieren
Matplotlib importieren.Pyplot als PLT
DataFrame = Pd.read_excel ('c:/user/dell/desktop/foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.PIVOT_TABLE (DataFrame, Index = ["Kategorie", "Produkt"], Werte = ["UnitPrice"])
pivot_tble.Plot (sort = 'bar');
PLT.zeigen()

In der obigen Visualisierung haben wir den Einheitspreis der verschiedenen Produkte zusammen mit Kategorien gezeigt.

Abschluss

Wir haben untersucht, wie Sie mit Pandas Python eine Pivot -Tabelle aus dem DataFrame generieren können. Mit einer Pivot -Tabelle können Sie tiefe Einblicke in Ihre Datensätze generieren. Wir haben gesehen, wie man eine einfache Pivot-Tabelle mit Multi-Index generiert und die Filter auf Pivot-Tabellen anwendet. Darüber hinaus haben wir auch gezeigt, dass wir Pivot -Tabellendaten zeichnen und fehlende Daten füllen.