Pivottabeller er fortsat blandt de mest ærede og udbredte værktøjer i MS Excel. Uanset om du er dataanalytiker, dataingeniør eller blot en almindelig bruger, er chancerne for, at du allerede har et blødt punkt for MS Excel.

Ikke desto mindre er der et stigende spillerum for at replikere MS Excels værktøjer og hjælpeprogrammer, især i Python. Vidste du, at du kan oprette omfattende pivottabeller i Pythons DataFrames med et par linjer kode i sig selv?

Ja, det er korrekt; hvis du er interesseret, her er hvordan du kan gøre det.

Forudsætninger for at oprette pivottabeller

Som ethvert andet programmeringssprog har selv Python brug for, at du opfylder nogle få forudsætninger, før du kan komme til kodning.

For at få den mest optimerede oplevelse, mens du opretter din allerførste pivottabel i Python, er her, hvad du skal bruge:

  • Python IDE: De fleste Python-koder har et integreret udviklingsmiljø (IDE) forudinstalleret på deres system. Der er flere Python-kompatible IDE'er på markedet, herunder Jupyter Notebook, Spyder, PyCharm og mange andre.
  • Eksempeldata: Til illustration er her et eksempeldatasæt, som du kan arbejde på. Alternativt er du velkommen til at justere disse koder direkte på dine livedata.

Dataeksempellink:Eksempel Superstore

Import af de essentielle biblioteker

Da Python arbejder på konceptet med tredjepartsbiblioteker, skal du importere Pandaer bibliotek til at skabe pivoter.

Du kan bruge Pandas til importere en Excel-fil til Python og gemme dataene i en DataFrame. For at importere pandaer skal du bruge importere kommando på følgende måde:

importere pandaer som pd

Sådan opretter du pivot i Python

Da biblioteket nu er tilgængeligt, skal du importere Excel-filen til Python, som er grundlaget for at oprette og teste pivoter i Python. Gem de importerede data i en DataFrame med følgende kode:

# Opret en ny DataFrame
# udskift med din egen sti her
sti = "C://Users//user/OneDrive//Desktop//"
# du kan definere filnavnet her
fil = "Eksempel - Superstore.xls"
df = pd.read_excel (sti + fil)
df.hoved()

Hvor:

  • df: Variabelnavn til lagring af DataFrame-data
  • pd: Alias ​​for Pandas bibliotek
  • read_excel(): Pandas funktion til at læse en Excel-fil ind i Python
  • sti: Placeringen, hvor Excel-filen er gemt (Sample Superstore)
  • fil: Filnavn til import
  • hoved(): Viser de første fem rækker i DataFrame som standard

Ovenstående kode importerer Excel-filen til Python og gemmer dataene i en DataFrame. Endelig, den hoved funktionen viser de første fem rækker med data.

Denne funktion er praktisk til at sikre, at dataene importeres korrekt til Python.

Hvilke pivot-tabelfelter findes i Python?

Ligesom sin Excel-modstykke har en pivottabel et lignende sæt felter i Python. Her er et par felter, du skal vide om:

  • Data: Datafeltet refererer til de data, der er gemt i en Python DataFrame
  • Værdier: Søjledata brugt i en pivot
  • Indeks: En indekskolonne(r) til gruppering af dataene
  • Kolonner: Kolonner hjælper med at samle de eksisterende data i en DataFrame

Formål bag brug af indeksfunktionen

Da indeksfunktionen er det primære element i en pivottabel, returnerer den dataens grundlæggende layout. Med andre ord kan du gruppere dine data med indeks fungere.

Antag, at du vil se nogle aggregerede værdier for de produkter, der er anført i Segment kolonne. Du kan beregne et foruddefineret aggregat (middelværdi) i Python ved at definere den udpegede kolonne som en indeksværdi.

df.pivot_table (indeks = "Segment")

Hvor:

  • df:DataFrame, der indeholder dataene
  • pivot_tabel: Pivot tabel funktion i Python
  • indeks: Indbygget funktion til at definere en kolonne som et indeks
  • Segment: Kolonne til brug som indeksværdi

Pythons variabelnavne skelner mellem store og små bogstaver, så undgå at gå væk fra de foruddefinerede variabelnavne, der er angivet i denne vejledning.

Sådan bruges multiindeksværdier

Når du vil bruge flere indekskolonner, kan du definere kolonnenavnene i en liste i indeksfunktionen. Alt du skal gøre er at angive kolonnenavnene i et sæt af firkantede parenteser ([ ]), som vist nedenfor:

df.pivot_table (indeks = ["Kategori", "Underkategori"])

Pivotfunktionen indrykker indekskolonnen i outputtet. Python viser betyde af alle de numeriske værdier mod hver indeksværdi.

Lær at begrænse værdierne i outputtet

Da Python vælger alle de numeriske kolonner som standard, kan du begrænse værdierne for at justere resultaterne vist i det endelige output. Brug værdier funktion til at definere de kolonner, du ønsker at se.

df.pivot_table (indeks = ["Område", "Kategori", "Underkategori"], værdier = "Salg")

I det endelige output vil der være tre indekskolonner, og middelværdierne for kolonnen Salg er sat op mod hvert element.

Definition af aggregerede funktioner i pivottabel

Hvad sker der, når du ikke ønsker at beregne middelværdierne som standard? Pivottabellen har en masse andre funktioner, som rækker ud over at beregne et simpelt gennemsnit.

Sådan skriver du koden:

df.pivot_table (indeks = ["Kategori"], værdier = "Salg", aggfunc = [sum, max, min, len])

Hvor:

  • sum: Beregner summen af ​​værdier
  • max: Beregner den maksimale værdi
  • min: Beregner den maksimale værdi
  • len: Beregner antallet af værdier

Du kan også definere hver af disse funktioner i separate kodelinjer.

Sådan tilføjes Grand Totals til pivottabellen

Intet dataaktiv er komplet uden de samlede totaler. For at beregne og vise de samlede totaler pr. datakolonne, skal du bruge marginer og margins_name fungere.

df.pivot_table (indeks = ["Kategori"], værdier = "Salg", aggfunc = [sum, max, min, len], margins=True, margins_name='Store totaler')

Hvor:

  • marginer: Funktion til beregning af totalsummen
  • margins_name: Angiv navnet på kategorien i indekskolonnen (f.eks. Grand Totals)

Rediger og brug den endelige kode

Her er det sidste kodekort:

importere pandaer som pd
# udskift med din egen sti her
sti = "C://Users//user/OneDrive//Desktop//"
# du kan definere filnavnet her
fil = "Eksempel - Superstore.xls"
df = pd.read_excel (sti + fil)
df.pivot_table (indeks = ["Område", "Kategori", "Underkategori"], værdier = "Salg",
aggfunc = [sum, max, min, len],
marginer =Rigtigt,
margins_name='Store totaler')

Oprettelse af pivottabeller i Python

Når du bruger pivottabeller, er mulighederne simpelthen uendelige. Python lader dig nemt håndtere store dataarrays uden at bekymre dig om dataafvigelser og systemforsinkelser.

Da Pythons funktionaliteter ikke er begrænset til kun at kondensere data til pivoter, kan du kombinere flere Excel-projektmapper og -ark, mens du udfører en række relaterede funktioner med Python.

Med Python er der altid noget nyt i horisonten.