Python Pandas pandas.pivot_table() Funktion

Minahil Noor 30 Januar 2023
  1. Syntax der Funktion pandas.pivot_table()
  2. Beispiel-Codes: pandas.pivot_table()
  3. Beispielcodes: pandas.pivot_table() zur Angabe mehrerer Aggregatfunktionen
  4. Beispielcodes: pandas.pivot_table() zur Verwendung des Parameters margins
Python Pandas pandas.pivot_table() Funktion

Die Python Pandas pandas.pivot_table() Funktion vermeidet die Wiederholung von Daten des DataFrame. Sie fasst die Daten zusammen und wendet verschiedene Aggregatfunktionen auf die Daten an.

Syntax der Funktion pandas.pivot_table()

pandas.pivot_table(
    data,
    values=None,
    index=None,
    columns=None,
    aggfunc="mean",
    fill_value=None,
    margins=False,
    dropna=True,
    margins_name="All",
    observed=False,
)

Parameter

Diese Funktion hat mehrere Parameter. Die Standardwerte aller Parameter sind oben erwähnt.

data Es ist der DataFrame, aus dem wir die wiederholten Daten entfernen wollen.
values Sie stellt die zu aggregierende Spalte dar.
index Es ist eine column, ein grouper, ein Array oder eine Liste. Es repräsentiert die Datenspalte, die wir als Index, d.h. als Zeilen, haben wollen.
columns Es ist eine column, ein grouper, ein Array oder eine Liste. Es repräsentiert die Datenspalte, die wir als Spalten in unserer Ausgabepivot-Tabelle haben wollen.
aggfunc Es ist eine Funktion, eine Liste von Funktionen oder ein dictionary. Sie stellt die aggregierte Funktion dar, die auf die Daten angewendet wird. Wenn eine Liste von Aggregatfunktionen übergeben wird, dann gibt es für jede Aggregatfunktion in der resultierenden Tabelle eine Spalte mit dem Spaltennamen ganz oben.
fill_value Es ist ein Skalar. Er repräsentiert den Wert, der die fehlenden Werte in der Ausgabetabelle ersetzt.
margins Es ist ein boolescher Wert. Er stellt die Zeile und Spalte dar, die nach der Bildung der Summe der jeweiligen Zeile und Spalte erzeugt werden.
dropna Es ist ein boolescher Wert. Er eliminiert die Spalten, deren Werte NaN sind, aus der Ausgabetabelle.
margins_name Es ist eine Zeichenkette. Sie repräsentiert den Namen der generierten Zeile und Spalte, wenn der Wert von margins True ist.
observed Es ist ein boolescher Wert. Wenn ein Zackenbarsch kategorisch ist, gilt dieser Parameter. Wenn er True ist, zeigt er die beobachteten Werte für kategorische Zackenbarsche an. Wenn er False ist, zeigt er alle Werte für kategorische Zackenbarsche an.

Zurück

Es gibt den zusammengefassten DataFrame zurück.

Beispiel-Codes: pandas.pivot_table()

Lassen Sie uns tiefer in diese Funktion eindringen, indem wir sie implementieren.

import pandas as pd

dataframe = pd.DataFrame({
                            "Name": 
                                ["Olivia", 
                                "Olivia", 
                                "Olivia", 
                                "Olivia", 
                                "Meghan", 
                                "Meghan", 
                                "Meghan", 
                                "Meghan"],
                            "Date": 
                                ["03-06-2019", 
                                "04-06-2019", 
                                "03-06-2019", 
                                "04-06-2019", 
                                "03-06-2019", 
                                "04-06-2019", 
                                "03-06-2019", 
                                "04-06-2019"],
                            "Science Marks": 
                                [10, 
                                2, 
                                4, 
                                6, 
                                8, 
                                9, 
                                1, 
                                10]
                        })
print(dataframe)

Das Beispiel DataFrame ist,

     Name        Date  Science Marks
0  Olivia  03-06-2019             10
1  Olivia  04-06-2019              2
2  Olivia  03-06-2019              4
3  Olivia  04-06-2019              6
4  Meghan  03-06-2019              8
5  Meghan  04-06-2019              9
6  Meghan  03-06-2019              1
7  Meghan  04-06-2019             10

Beachten Sie, dass die obigen Daten denselben Wert in einer Spalte mehrfach enthalten. Diese pivot_table Funktion fasst diese Daten zusammen.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Name": [
            "Olivia",
            "Olivia",
            "Olivia",
            "Olivia",
            "Meghan",
            "Meghan",
            "Meghan",
            "Meghan",
        ],
        "Date": [
            "03-06-2019",
            "04-06-2019",
            "03-06-2019",
            "04-06-2019",
            "03-06-2019",
            "04-06-2019",
            "03-06-2019",
            "04-06-2019",
        ],
        "Science Marks": [10, 2, 4, 6, 8, 9, 1, 10],
    }
)

pivotTable = pd.pivot_table(dataframe, index="Name", columns="Date")
print(pivotTable)

Ausgabe:

              Science Marks           
Date      03-06-2019 04-06-2019
Name                           
Meghan           4.5        9.5
Olivia           7.0        4.0

Hier haben wir die Spalte Name als Index und die Spalte Date als Spalte gewählt. Die Funktion hat das Ergebnis auf der Grundlage der Standardparameter erzeugt. Die voreingestellte Aggregatfunktion mean() hat den Mittelwert der Werte berechnet.

Beispielcodes: pandas.pivot_table() zur Angabe mehrerer Aggregatfunktionen

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Name": [
            "Olivia",
            "Olivia",
            "Olivia",
            "Olivia",
            "Meghan",
            "Meghan",
            "Meghan",
            "Meghan",
        ],
        "Date": [
            "03-06-2019",
            "04-06-2019",
            "03-06-2019",
            "04-06-2019",
            "03-06-2019",
            "04-06-2019",
            "03-06-2019",
            "04-06-2019",
        ],
        "Science Marks": [10, 2, 4, 6, 8, 9, 1, 10],
    }
)

pivotTable = pd.pivot_table(
    dataframe, index="Name", columns="Date", aggfunc=["sum", "count"]
)
print(pivotTable)

Ausgabe:

                   sum                    count           
              Science Marks            Science Marks           
Date      03-06-2019 04-06-2019    03-06-2019 04-06-2019
Name                                                    
Meghan             9         19             2          2
Olivia            14          8             2          2

Wir haben zwei Aggregatfunktionen verwendet. Die Spalten dieser Funktionen werden separat generiert.

Beispielcodes: pandas.pivot_table() zur Verwendung des Parameters margins

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Name": [
            "Olivia",
            "Olivia",
            "Olivia",
            "Olivia",
            "Meghan",
            "Meghan",
            "Meghan",
            "Meghan",
        ],
        "Date": [
            "03-06-2019",
            "04-06-2019",
            "03-06-2019",
            "04-06-2019",
            "03-06-2019",
            "04-06-2019",
            "03-06-2019",
            "04-06-2019",
        ],
        "Science Marks": [10, 2, 4, 6, 8, 9, 1, 10],
    }
)

pivotTable = pd.pivot_table(
    dataframe, index="Name", columns="Date", aggfunc=["sum", "count"], margins=True
)
print(pivotTable)

Ausgabe:

                   sum                        count               
              Science Marks                Science Marks               
Date      03-06-2019 04-06-2019 All    03-06-2019 04-06-2019 All
Name                                                            
Meghan             9         19  28             2          2   4
Olivia            14          8  22             2          2   4
All               23         27  50             4          4   8

Der Parameter margins hat eine neue Zeile mit dem Namen All und eine neue Spalte mit dem Namen All erzeugt, die jeweils die Summe der Zeile und der Spalte anzeigen.

Verwandter Artikel - Pandas Core