Podatkovna znanost

Kako ustvariti vrtilno tabelo v Pandas Python

Kako ustvariti vrtilno tabelo v Pandas Python
V Pythonu pande vrtilna tabela vključuje vsote, štetja ali funkcije združevanja, ki izhajajo iz podatkovne tabele. Funkcije združevanja se lahko uporabljajo za različne značilnosti ali vrednosti. Vrtilna tabela nam omogoča, da podatke tabele povzamemo, razvrščene v različne vrednosti, vključno s kategoričnimi vrednostmi stolpcev.

Pred uporabo vrtilne tabele pande se prepričajte, da razumete svoje podatke in vprašanja, ki jih poskušate rešiti skozi vrtilno tabelo. Z uporabo te metode lahko dosežete močne rezultate. V tem članku bomo podrobno opisali, kako ustvariti vrtilno tabelo v pandah python.

Preberite podatke iz Excelove datoteke

Prenesli smo Excelovo bazo podatkov o prodaji hrane. Preden začnete z implementacijo, morate namestiti nekaj potrebnih paketov za branje in pisanje datotek zbirke podatkov excel. V terminalski odsek urejevalnika pycharm vnesite naslednji ukaz:

pip namestite xlwt openpyxl xlsxwriter xlrd

Zdaj preberite podatke z Excelovega lista. Uvozite zahtevane knjižnice pande in spremenite pot svoje baze podatkov. Nato lahko z zagonom naslednje kode pridobite podatke iz datoteke.

uvozi pande kot pd
uvozi numpy kot np
dtfrm = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
tiskanje (dtfrm)

Tu se podatki preberejo iz baze podatkov o prodaji hrane excel in prenesejo v spremenljivko dataframe.

Ustvari vrtilno tabelo s pomočjo Pandas Python

Spodaj smo z uporabo baze podatkov o prodaji živil ustvarili preprosto vrtilno tabelo. Za izdelavo vrtilne tabele sta potrebna dva parametra. Prvi so podatki, ki smo jih prenesli v podatkovni okvir, drugi pa indeks.

Zasuk podatkov na indeksu

Indeks je značilnost vrtilne tabele, ki vam omogoča združevanje podatkov na podlagi zahtev. Tu smo za indeks vzeli 'Product' za ustvarjanje osnovne vrtilne tabele.

uvozi pande kot pd
uvozi numpy kot np
podatkovni okvir = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.vrtilna tabela (podatkovni okvir, indeks = ["izdelek"])
tiskanje (vrtilna_tble)

Po zagonu zgornje izvorne kode se prikaže naslednji rezultat:

Izrecno določite stolpce

Za večjo analizo podatkov izrecno določite imena stolpcev z indeksom. Na primer, v rezultatu želimo prikazati edino UnitPrice za vsak izdelek. V ta namen dodajte parameter vrednosti v vrtilno tabelo. Naslednja koda daje enak rezultat:

uvozi pande kot pd
uvozi numpy kot np
podatkovni okvir = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.vrtilna_tabela (podatkovni okvir, indeks = 'Izdelek', vrednosti = 'UnitPrice')
tiskanje (vrtilna_tble)

Vrti podatke z več indeksom

Podatke lahko kot indeks razvrstimo na podlagi več elementov. Z uporabo pristopa z več indeksi lahko dobite natančnejše rezultate za analizo podatkov. Na primer, izdelki spadajo v različne kategorije. Tako lahko prikažete indeks "Product" in "Category" z razpoložljivimi "Quantity" in "UnitPrice" za vsak izdelek, kot sledi:

uvozi pande kot pd
uvozi numpy kot np
podatkovni okvir = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.vrtilna tabela (podatkovni okvir, indeks = ["Kategorija", "Izdelek"], vrednosti = ["UnitPrice", "Količina"])
tiskanje (vrtilna_tble)

Uporaba funkcije združevanja v vrtilni tabeli

V vrtilni tabeli lahko aggfunc uporabite za različne vrednosti lastnosti. Rezultatna tabela je povzetek podatkov o lastnostih. Združevalna funkcija velja za podatke skupine v vrtilni tabeli. Privzeto je skupna funkcija np.pomeni(). Toda na podlagi uporabniških zahtev se lahko za različne podatkovne funkcije uporabljajo različne sestavljene funkcije.

Primer:

V tem primeru smo uporabili agregatne funkcije. NP.Funkcija sum () se uporablja za funkcijo 'Količina' in np.pomeni povprečno () za funkcijo 'UnitPrice'.

uvozi pande kot pd
uvozi numpy kot np
podatkovni okvir = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.vrtilna tabela (podatkovni okvir, indeks = ["Kategorija", "Izdelek"], aggfunc = 'Količina': np.vsota, 'UnitPrice': np.pomeni)
tiskanje (vrtilna_tble)

Po uporabi funkcije združevanja za različne funkcije boste dobili naslednji izhod:

S parametrom vrednosti lahko za določeno značilnost uporabite tudi agregatno funkcijo. Če ne želite določiti vrednosti funkcije, seštejejo številčne značilnosti vaše baze podatkov. Če sledite dani izvorni kodi, lahko uporabite funkcijo združevanja za določeno funkcijo:

uvozi pande kot pd
uvozi numpy kot np
podatkovni okvir = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.vrtilna tabela (podatkovni okvir, indeks = ['Izdelek'], vrednosti = ['UnitPrice'], aggfunc = np.pomeni)
tiskanje (vrtilna_tble)

Razlike med vrednostmi vs. Stolpci v vrtilni tabeli

Vrednosti in stolpci so glavna zmedena točka v vrtilni tabeli. Pomembno je omeniti, da so stolpci neobvezna polja, ki na vrhu prikažejo vrednosti rezultatov tabele vodoravno. Funkcija združevanja aggfunc velja za polje vrednosti, ki ga navedete.

uvozi pande kot pd
uvozi numpy kot np
podatkovni okvir = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.vrtilna tabela (podatkovni okvir, indeks = ['Kategorija', 'Izdelek', 'Mesto'], vrednosti = ['UnitPrice', 'Količina'],
stolpci = ['Regija'], aggfunc = [np.vsota])
tiskanje (vrtilna_tble)

Ravnanje z manjkajočimi podatki v vrtilni tabeli

Manjkajoče vrednosti v vrtilni tabeli lahko obravnavate tudi z uporabo 'fill_value' Parameter. To vam omogoča, da vrednosti NaN nadomestite z novo vrednostjo, ki jo zagotovite za zapolnitev.

Na primer, iz zgornje rezultantne tabele smo odstranili vse ničelne vrednosti, tako da smo zagnali naslednjo kodo in v celotni rezultatski tabeli nadomestili vrednosti NaN z 0.

uvozi pande kot pd
uvozi numpy kot np
podatkovni okvir = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.vrtilna tabela (podatkovni okvir, indeks = ['Kategorija', 'Izdelek', 'Mesto'], vrednosti = ['UnitPrice', 'Količina'],
stolpci = ['Regija'], aggfunc = [np.vsota], izpolni_vrednost = 0)
tiskanje (vrtilna_tble)

Filtriranje v vrtilni tabeli

Ko je rezultat ustvarjen, lahko filter uporabite s standardno funkcijo podatkovnega okvira. Vzemimo primer. Filtrirajte tiste izdelke, katerih UnitPrice je manjša od 60. Prikaže tiste izdelke, katerih cena je nižja od 60.

uvozi pande kot pd
uvozi numpy kot np
podatkovni okvir = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.vrtilna_tabela (podatkovni okvir, indeks = 'Product', values ​​= 'UnitPrice', aggfunc = 'sum')
nizka_cena = pivot_tble [pivot_tble ['UnitPrice'] < 60]
tisk (nizka cena)

Z drugo metodo poizvedbe lahko filtrirate rezultate. Primer: kategorijo piškotkov smo na primer filtrirali na podlagi naslednjih lastnosti:

uvozi pande kot pd
uvozi numpy kot np
podatkovni okvir = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.vrtilna_tabela (podatkovni okvir, indeks = ["Kategorija", "Mesto", "Regija"], vrednosti = ["UnitPrice", "Količina"], aggfunc = np.vsota)
pt = pivot_tble.poizvedba ('Kategorija == ["Piškotki"]')
tiskanje (pt)

Izhod:

Vizualizirajte podatke vrtilne tabele

Če želite vizualizirati podatke vrtilne tabele, sledite naslednji metodi:

uvozi pande kot pd
uvozi numpy kot np
uvozi matplotlib.pyplot kot plt
podatkovni okvir = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.vrtilna tabela (podatkovni okvir, indeks = ["Kategorija", "Izdelek"], vrednosti = ["UnitPrice"])
vrtilna_tble.ploskev (kind = 'bar');
plt.pokaži ()

V zgornji vizualizaciji smo prikazali ceno na enoto za različne izdelke skupaj s kategorijami.

Zaključek

Raziskovali smo, kako lahko z uporabo Pandas python ustvarite vrtilno tabelo iz podatkovnega okvira. Vrtilna tabela vam omogoča, da ustvarite globok vpogled v svoje nabore podatkov. Videli smo, kako ustvarimo preprosto vrtilno tabelo z uporabo več indeksov in uporabimo filtre na vrtilnih tabelah. Poleg tega smo tudi pokazali, da načrtujemo podatke vrtilne tabele in zapolnjujemo manjkajoče podatke.

Namestite najnovejšo strategijo igre OpenRA v Ubuntu Linux
OpenRA je Libre / Free Real Time strateški stroj, ki poustvarja zgodnje igre Westwood, kot je klasična Command & Conquer: Red Alert. Porazdeljeni modi...
Namestite najnovejši Dolphin Emulator za Gamecube & Wii v Linux
Dolphin Emulator vam omogoča igranje izbranih iger Gamecube in Wii na osebnih računalnikih Linux (PC). Dolphin Emulator je prosto dostopen in odprtok...
Kako uporabljati GameConqueror Cheat Engine v Linuxu
Članek zajema vodnik o uporabi varalnice GameConqueror v Linuxu. Številni uporabniki, ki igrajo igre v sistemu Windows, pogosto uporabljajo aplikacijo...