Vrtilne tabele so še vedno med najbolj cenjenimi in pogosto uporabljanimi orodji v MS Excelu. Ne glede na to, ali ste podatkovni analitik, podatkovni inženir ali preprosto redni uporabnik, obstaja velika verjetnost, da že imate šibko točko za MS Excel.

Kljub temu obstaja vedno več možnosti za podvajanje orodij in pripomočkov MS Excel, zlasti v Pythonu. Ali ste vedeli, da lahko ustvarite obsežne vrtilne tabele v Python DataFrames z nekaj vrsticami same kode?

Da, to je pravilno; če vas zanima, lahko to storite tukaj.

Predpogoji za ustvarjanje vrtilnih tabel

Kot kateri koli drug programski jezik, mora tudi Python izpolniti nekaj predpogojev, preden se lahko lotite kodiranja.

Če želite pridobiti najbolj optimizirano izkušnjo pri ustvarjanju vaše prve vrtilne tabele v Pythonu, boste potrebovali naslednje:

  • Python IDE: Večina kod Python ima v svojem sistemu vnaprej nameščeno integrirano razvojno okolje (IDE). Več jih je Python združljivi IDE-ji na trgu, vključno z Jupyter Notebook, Spyder, PyCharm in mnogimi drugimi.
  • Vzorčni podatki: Za ponazoritev je tukaj vzorčni nabor podatkov, na katerem lahko delate. Druga možnost je, da te kode prilagodite neposredno na svojih podatkih v živo.

Povezava vzorca podatkov:Vzorec Superstore

Uvažanje osnovnih knjižnic

Ker Python deluje na konceptu knjižnic tretjih oseb, morate uvoziti Pande knjižnica za ustvarjanje vrtišč.

Pande lahko uporabite za uvozite datoteko Excel v Python in shrani podatke v DataFrame. Če želite uvoziti Pande, uporabite uvoz ukaz na naslednji način:

uvoz pande kot pd

Kako ustvariti vrtišča v Pythonu

Ker je knjižnica zdaj na voljo, morate uvoziti Excelovo datoteko v Python, ki je osnova za ustvarjanje in testiranje vrtišč v Pythonu. Shranite uvožene podatke v DataFrame z naslednjo kodo:

# Ustvarite nov DataFrame
# tukaj zamenjajte s svojo potjo
pot = "C://Uporabniki//uporabnik/OneDrive//Namizje//"
# tukaj lahko določite ime datoteke
datoteka = "Vzorec - Superstore.xls"
df = pd.read_excel (pot + datoteka)
df.glava()

Kje:

  • df: Ime spremenljivke za shranjevanje podatkov DataFrame
  • pd: Vzdevek za knjižnico Pandas
  • read_excel(): Funkcija Pandas za branje datoteke Excel v Python
  • pot: Mesto, kjer je shranjena datoteka Excel (Sample Superstore)
  • mapa: Ime datoteke za uvoz
  • glava(): Privzeto prikaže prvih pet vrstic DataFrame

Zgornja koda uvozi Excelovo datoteko v Python in shrani podatke v DataFrame. Končno, glavo funkcija prikaže prvih pet vrstic podatkov.

Ta funkcija je priročna za zagotovitev pravilnega uvoza podatkov v Python.

Katera polja vrtilne tabele obstajajo v Pythonu?

Tako kot njegov primerek v Excelu ima vrtilna tabela podoben nabor polj v Pythonu. Tukaj je nekaj področij, o katerih morate vedeti:

  • podatki: Podatkovno polje se nanaša na podatke, shranjene v Python DataFrame
  • Vrednote: Podatki v stolpcu, uporabljeni v vrtišču
  • Kazalo: Indeksni stolpec(-i) za združevanje podatkov
  • Stolpci: Stolpci pomagajo pri združevanju obstoječih podatkov znotraj DataFrame

Namen uporabe funkcije indeksa

Ker je funkcija indeksa primarni element vrtilne tabele, vrne osnovno postavitev podatkov. Z drugimi besedami, svoje podatke lahko združite z kazalo funkcijo.

Recimo, da želite videti nekaj združenih vrednosti za izdelke, navedene v Segment stolpec. V Pythonu lahko izračunate vnaprej določen agregat (povprečna vrednost), tako da določite določen stolpec kot vrednost indeksa.

df.pivot_table (index = "Segment")

Kje:

  • df:DataFrame, ki vsebuje podatke
  • vrteča miza: Funkcija vrtilne tabele v Pythonu
  • kazalo: Vgrajena funkcija za definiranje stolpca kot indeksa
  • Segment: Stolpec za uporabo kot vrednost indeksa

Imena spremenljivk v Pythonu razlikujejo med velikimi in malimi črkami, zato se izogibajte prehodu z vnaprej določenih imen spremenljivk, navedenih v tem priročniku.

Kako uporabljati večindeksne vrednosti

Če želite uporabiti več indeksnih stolpcev, lahko določite imena stolpcev v a seznam znotraj funkcije indeksa. Vse kar morate storiti je, da določite imena stolpcev znotraj nabora oglati oklepaji ([ ]), kot je prikazano spodaj:

df.pivot_table (index = ["Kategorija", "Podkategorija"])

Vrtilna funkcija zamakne indeksni stolpec v izhodu. Python prikaže pomeni vseh številčnih vrednosti proti vsaki vrednosti indeksa.

Naučite se omejiti vrednosti v izhodu

Ker Python privzeto izbere vse številske stolpce, lahko omejite vrednosti, da prilagodite rezultate, prikazane v končnem rezultatu. Uporabi vrednote funkcijo za določitev stolpcev, ki jih želite videti.

df.pivot_table (index = ["Regija", "Kategorija", "Podkategorija"], vrednosti = "Prodaja")

V končnem rezultatu bodo trije indeksni stolpci in srednje vrednosti za stolpec Prodaja, primerjane z vsakim elementom.

Definiranje agregatnih funkcij v vrtilni tabeli

Kaj se zgodi, če privzeto ne želite izračunati srednjih vrednosti? Vrtilna tabela ima veliko drugih funkcij, ki presegajo izračun preproste srednje vrednosti.

Kodo napišete tako:

df.pivot_table (index = ["Kategorija"], vrednosti = "Prodaja", aggfunc = [vsota, največ, min, len])

Kje:

  • vsota: Izračuna vsoto vrednosti
  • max: Izračuna največjo vrednost
  • min: Izračuna največjo vrednost
  • len: Izračuna število vrednosti

Vsako od teh funkcij lahko tudi definirate v ločenih vrsticah kode.

Kako dodati glavne vsote v vrtilno tabelo

Nobeno podatkovno sredstvo ni popolno brez skupnih vsot. Če želite izračunati in prikazati skupne vsote na podatkovni stolpec, uporabite marže in ime_robov funkcijo.

df.pivot_table (index = ["Kategorija"], vrednosti = "Prodaja", aggfunc = [sum, max, min, len], margins=True, margins_name='Skupni seštevek')

Kje:

  • robovi: Funkcija za izračun skupne vsote
  • ime_robov: Določite ime kategorije v stolpcu z indeksom (na primer Skupne vsote)

Spremenite in uporabite končno kodo

Tukaj je končna koda:

uvoz pande kot pd
# tukaj zamenjajte s svojo potjo
pot = "C://Uporabniki//uporabnik/OneDrive//Namizje//"
# tukaj lahko določite ime datoteke
datoteka = "Vzorec - Superstore.xls"
df = pd.read_excel (pot + datoteka)
df.pivot_table (index = ["Regija", "Kategorija", "Podkategorija"], vrednosti = "Prodaja",
aggfunc = [vsota, največ, min, len],
robovi=Prav,
ime_robov='Skupni seštevek')

Ustvarjanje vrtilnih tabel v Pythonu

Ko uporabljate vrtilne tabele, je možnosti preprosto neskončno. Python vam omogoča preprosto rokovanje z obsežnimi nizi podatkov, ne da bi vas skrbelo odstopanje podatkov in sistemski zaostanki.

Ker funkcionalnosti Pythona niso omejene samo na zgoščevanje podatkov v vrtišča, lahko združite več Excelovih delovnih zvezkov in listov, medtem ko s Pythonom izvajate vrsto povezanih funkcij.

S Pythonom je vedno nekaj novega na obzorju.