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.
- 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.