Zaokretne tablice i dalje su među najcjenjenijim i najčešće korištenim alatima u MS Excelu. Bilo da ste analitičar podataka, inženjer podataka ili jednostavno redoviti korisnik, velike su šanse da već imate slabu točku za MS Excel.

Unatoč tome, postoji sve veći opseg za repliciranje alata i uslužnih programa MS Excela, posebno u Pythonu. Jeste li znali da možete stvoriti opsežne zaokretne tablice u Python DataFramesu s nekoliko redaka samog koda?

Da, to je točno; ako ste zaintrigirani, evo kako to možete učiniti.

Preduvjeti za izradu zaokretnih tablica

Kao i svaki drugi programski jezik, čak i Python treba da ispunite nekoliko preduvjeta prije nego što počnete kodirati.

Da biste dobili najoptimiziranije iskustvo dok stvarate svoju prvu zaokretnu tablicu u Pythonu, evo što će vam trebati:

  • Python IDE: Većina Python kodova ima integrirano razvojno okruženje (IDE) unaprijed instalirano na svom sustavu. Ima ih nekoliko Python kompatibilni IDE-ovi na tržištu, uključujući Jupyter Notebook, Spyder, PyCharm i mnoge druge.
  • instagram viewer
  • Uzorak podataka: Za ilustraciju, evo uzorka skupa podataka na kojem možete raditi. Alternativno, slobodno prilagodite ove kodove izravno na svojim podacima uživo.

Veza uzorka podataka:Ogledna supertrgovina

Uvoz osnovnih biblioteka

Budući da Python radi na konceptu biblioteka trećih strana, morate uvesti Pande knjižnica za stvaranje stožera.

Pande možete koristiti za uvesti Excel datoteku u Python i pohraniti podatke u DataFrame. Za uvoz Panda koristite uvoz naredba na sljedeći način:

uvoz pande kao pd

Kako stvoriti zaokrete u Pythonu

Budući da je biblioteka sada dostupna, trebate uvesti Excel datoteku u Python, što je baza za stvaranje i testiranje pivotova u Pythonu. Pohranite uvezene podatke u DataFrame sa sljedećim kodom:

# Napravite novi DataFrame
# zamijenite svojim vlastitim putem ovdje
put = "C://Korisnici//korisnik/OneDrive//Desktop//"
# ovdje možete definirati naziv datoteke
datoteka = "Uzorak - Superstore.xls"
df = pd.read_excel (put + datoteka)
df.glava()

Gdje:

  • df: Naziv varijable za pohranjivanje DataFrame podataka
  • pd: Alias ​​za biblioteku Pandas
  • read_excel(): Funkcija Pandas za čitanje Excel datoteke u Python
  • staza: Mjesto gdje je pohranjena Excel datoteka (Sample Superstore)
  • datoteka: Naziv datoteke za uvoz
  • glava(): Prikazuje prvih pet redaka DataFramea, prema zadanim postavkama

Gornji kod uvozi Excel datoteku u Python i pohranjuje podatke u DataFrame. Konačno, glavu funkcija prikazuje prvih pet redaka podataka.

Ova je funkcija korisna kako bi se osiguralo da su podaci ispravno uvezeni u Python.

Koja polja zaokretne tablice postoje u Pythonu?

Kao i njegov pandan u Excelu, zaokretna tablica ima sličan skup polja u Pythonu. Evo nekoliko polja o kojima trebate znati:

  • Podaci: Podatkovno polje odnosi se na podatke pohranjene unutar Python DataFramea
  • Vrijednosti: Podaci u stupcu koji se koriste unutar pivota
  • Indeks: Stupac(i) indeksa za grupiranje podataka
  • Stupci: Stupci pomažu u agregiranju postojećih podataka unutar DataFramea

Svrha korištenja funkcije Index

Budući da je funkcija indeksa primarni element zaokretne tablice, ona vraća osnovni izgled podataka. Drugim riječima, svoje podatke možete grupirati s indeks funkcija.

Pretpostavimo da želite vidjeti neke agregirane vrijednosti za proizvode navedene unutar Segment stupac. Možete izračunati unaprijed definirani agregat (srednja vrijednost) u Pythonu definiranjem naznačenih stupaca kao vrijednosti indeksa.

df.pivot_table (index = "Segment")

Gdje:

  • df:DataFrame koji sadrži podatke
  • stožerna_tablica: Funkcija zaokretne tablice u Pythonu
  • indeks: Ugrađena funkcija za definiranje stupca kao indeksa
  • Segment: Stupac koji se koristi kao vrijednost indeksa

Nazivi varijabli Pythona razlikuju velika i mala slova, pa izbjegavajte prijelaz s unaprijed definiranih naziva varijabli navedenih u ovom vodiču.

Kako koristiti višeindeksne vrijednosti

Kada želite koristiti više stupaca indeksa, možete definirati nazive stupaca u a popis unutar funkcije indeksa. Sve što trebate učiniti je navesti nazive stupaca unutar skupa uglate zagrade ([ ]), kako je prikazano dolje:

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

Funkcija pivot uvlači stupac indeksa u izlazu. Python prikazuje značiti svih brojčanih vrijednosti u odnosu na svaku vrijednost indeksa.

Naučite ograničiti vrijednosti u izlazu

Budući da Python odabire sve numeričke stupce prema zadanim postavkama, možete ograničiti vrijednosti kako biste podesili rezultate prikazane u konačnom izlazu. Koristiti vrijednosti za definiranje stupaca koje želite vidjeti.

df.pivot_table (index = ["Regija", "Kategorija", "Potkategorija"], vrijednosti = "Prodajni")

U konačnom rezultatu bit će tri stupca indeksa i srednje vrijednosti za stupac Prodaja u odnosu na svaki element.

Definiranje agregatnih funkcija u zaokretnoj tablici

Što se događa kada ne želite izračunati srednje vrijednosti prema zadanim postavkama? Zaokretna tablica ima mnogo drugih funkcija koje nadilaze izračunavanje jednostavne srednje vrijednosti.

Evo kako napisati kôd:

df.pivot_table (index = ["Kategorija"], vrijednosti = "Prodajni", aggfunc = [zbroj, max, min, len])

Gdje:

  • iznos: Izračunava zbroj vrijednosti
  • max: Izračunava maksimalnu vrijednost
  • min.: Izračunava maksimalnu vrijednost
  • dužina: Izračunava broj vrijednosti

Također možete definirati svaku od ovih funkcija u zasebnim linijama koda.

Kako dodati ukupne zbrojeve u zaokretnu tablicu

Nijedan podatkovni materijal nije potpun bez ukupnih zbrojeva. Za izračun i prikaz ukupnih zbrojeva po podatkovnom stupcu koristite margine i margin_name funkcija.

df.pivot_table (index = ["Kategorija"], vrijednosti = "Prodajni", aggfunc = [sum, max, min, len], margins=Istina, margins_name='Ukupni zbrojevi')

Gdje:

  • margine: Funkcija za izračun ukupnog zbroja
  • margin_name: Navedite naziv kategorije u stupcu indeksa (na primjer, ukupni zbrojevi)

Izmijenite i koristite konačni kod

Evo konačnog sažetka koda:

uvoz pande kao pd
# zamijenite svojim vlastitim putem ovdje
put = "C://Korisnici//korisnik/OneDrive//Desktop//"
# ovdje možete definirati naziv datoteke
datoteka = "Uzorak - Superstore.xls"
df = pd.read_excel (put + datoteka)
df.pivot_table (index = ["Regija", "Kategorija", "Potkategorija"], vrijednosti = "Prodajni",
aggfunc = [zbroj, max, min, len],
margine=Pravi,
margin_name='Ukupni zbrojevi')

Stvaranje zaokretnih tablica u Pythonu

Kada koristite zaokretne tablice, mogućnosti su jednostavno beskrajne. Python vam omogućuje jednostavno rukovanje ogromnim nizovima podataka bez brige o razlikama u podacima i kašnjenjima sustava.

Budući da funkcionalnosti Pythona nisu ograničene samo na sažimanje podataka u stožere, možete kombinirati više Excelovih radnih knjiga i listova, dok s Pythonom izvodite niz povezanih funkcija.

Uz Python, uvijek je nešto novo na horizontu.