Pivottabeller fortsetter å være blant de mest aktede og mye brukte verktøyene i MS Excel. Enten du er en dataanalytiker, dataingeniør eller bare en vanlig bruker, er sjansen stor for at du allerede har et svakt punkt for MS Excel.
Ikke desto mindre er det et økende omfang for å replikere MS Excels verktøy og verktøy, spesielt i Python. Visste du at du kan lage omfattende pivottabeller i Pythons DataFrames med noen få linjer med selve kode?
Ja det er riktig; hvis du er interessert, her er hvordan du kan gjøre det.
Forutsetninger for å lage pivottabeller
Som alle andre programmeringsspråk, trenger til og med Python at du oppfyller noen få forutsetninger før du kan komme til koding.
For å få den mest optimaliserte opplevelsen mens du lager din aller første pivottabell i Python, er det her du trenger:
- Python IDE: De fleste Python-koder har et integrert utviklingsmiljø (IDE) forhåndsinstallert på systemet. Det er flere Python-kompatible IDE-er på markedet, inkludert Jupyter Notebook, Spyder, PyCharm og mange andre.
- Eksempeldata: For illustrasjon, her er et eksempeldatasett du kan jobbe med. Alternativt kan du gjerne justere disse kodene direkte på live-dataene dine.
Dataeksempellink:Eksempel Superstore
Importerer de essensielle bibliotekene
Siden Python jobber med konseptet med tredjepartsbiblioteker, må du importere Pandaer bibliotek for å lage pivoter.
Du kan bruke Pandas til importere en Excel-fil til Python og lagre dataene i en DataFrame. For å importere pandaer, bruk import kommando på følgende måte:
import pandaer som pd
Hvordan lage pivoter i Python
Siden biblioteket nå er tilgjengelig, må du importere Excel-filen til Python, som er grunnlaget for å lage og teste pivoter i Python. Lagre de importerte dataene i en DataFrame med følgende kode:
# Opprett en ny DataFrame
# erstatt med din egen bane her
bane = "C://Users//user/OneDrive//Desktop//"
# du kan definere filnavnet her
fil = "Eksempel - Superstore.xls"
df = pd.read_excel (bane + fil)
df.hode()
Hvor:
- df: Variabelnavn for å lagre DataFrame-dataene
- pd: Alias for Pandas bibliotek
- read_excel(): Pandas funksjon for å lese en Excel-fil inn i Python
- sti: Plasseringen der Excel-filen er lagret (Sample Superstore)
- fil: Filnavn som skal importeres
- hode(): Viser de fem første radene i DataFrame, som standard
Koden ovenfor importerer Excel-filen til Python og lagrer dataene i en DataFrame. Til slutt, den hode funksjonen viser de fem første radene med data.
Denne funksjonen er nyttig for å sikre at dataene importeres riktig til Python.
Hvilke pivottabellfelt finnes i Python?
I likhet med Excel-motstykket har en pivottabell et lignende sett med felt i Python. Her er noen felt du trenger å vite om:
- Data: Datafeltet refererer til dataene som er lagret i en Python DataFrame
- Verdier: Kolonnedata brukt i en pivot
- Indeks: En indekskolonne(r) for gruppering av dataene
- Kolonner: Kolonner hjelper deg med å samle eksisterende data i en DataFrame
Hensikten bak bruk av indeksfunksjonen
Siden indeksfunksjonen er det primære elementet i en pivottabell, returnerer den dataens grunnleggende layout. Med andre ord kan du gruppere dataene dine med indeks funksjon.
Anta at du vil se noen aggregerte verdier for produktene som er oppført i Segmentet kolonne. Du kan beregne et forhåndsdefinert aggregat (middelverdi) i Python ved å definere den angitte kolonnen som en indeksverdi.
df.pivot_table (indeks = "Segmentet")
Hvor:
- df:DataFrame som inneholder dataene
- pivot_table: Pivottabellfunksjon i Python
- indeks: Innebygd funksjon for å definere en kolonne som en indeks
- Segmentet: Kolonne som skal brukes som en indeksverdi
Pythons variabelnavn skiller mellom store og små bokstaver, så unngå å gå bort fra de forhåndsdefinerte variabelnavnene som er oppført i denne veiledningen.
Slik bruker du multiindeksverdier
Når du vil bruke flere indekskolonner, kan du definere kolonnenavnene i en liste i indeksfunksjonen. Alt du trenger å gjøre er å spesifisere kolonnenavnene i et sett med firkantede parenteser ([ ]), som vist under:
df.pivot_table (indeks = ["Kategori", "Underkategori"])
Pivotfunksjonen rykker inn indekskolonnen i utdataene. Python viser mener av alle numeriske verdier mot hver indeksverdi.
Lær å begrense verdiene i utdataene
Siden Python velger alle de numeriske kolonnene som standard, kan du begrense verdiene for å justere resultatene som vises i den endelige utgangen. Bruke verdier funksjon for å definere kolonnene du ønsker å se.
df.pivot_table (indeks = ["Region", "Kategori", "Underkategori"], verdier = "Salg")
I den endelige utgangen vil det være tre indekskolonner, og gjennomsnittsverdiene for Sales-kolonnen settes opp mot hvert element.
Definere aggregerte funksjoner i pivottabell
Hva skjer når du ikke vil beregne gjennomsnittsverdiene som standard? Pivottabellen har mange andre funksjoner, som strekker seg utover å beregne et enkelt gjennomsnitt.
Slik skriver du koden:
df.pivot_table (indeks = ["Kategori"], verdier = "Salg", aggfunc = [sum, maks, min, len])
Hvor:
- sum: Beregner summen av verdier
- maks: Beregner maksimumsverdien
- min: Beregner maksimumsverdien
- len: Beregner antall verdier
Du kan også definere hver av disse funksjonene i separate kodelinjer.
Hvordan legge til store totaler til pivottabellen
Ingen datainnhold er komplett uten totalsummene. For å beregne og vise totalsummene per datakolonne, bruk marginer og margins_name funksjon.
df.pivot_table (indeks = ["Kategori"], verdier = "Salg", aggfunc = [sum, maks, min, len], margins=True, margins_name='Grand Totals')
Hvor:
- marginer: Funksjon for å beregne totalsummen
- margins_name: Angi navnet på kategorien i indekskolonnen (for eksempel Grand Totals)
Endre og bruk den endelige koden
Her er den siste kodeoversikten:
import pandaer som pd
# erstatt med din egen bane her
bane = "C://Users//user/OneDrive//Desktop//"
# du kan definere filnavnet her
fil = "Eksempel - Superstore.xls"
df = pd.read_excel (bane + fil)
df.pivot_table (indeks = ["Region", "Kategori", "Underkategori"], verdier = "Salg",
aggfunc = [sum, maks, min, len],
marginer=ekte,
margins_name='Grand Totals')
Opprette pivottabeller i Python
Når du bruker pivottabeller, er alternativene rett og slett uendelige. Python lar deg enkelt håndtere store datamatriser uten å bekymre deg for dataavvik og systemforsinkelser.
Siden Pythons funksjoner ikke er begrenset til bare å kondensere data til pivoter, kan du kombinere flere Excel-arbeidsbøker og -ark, mens du utfører en rekke relaterte funksjoner med Python.
Med Python er det alltid noe nytt i horisonten.