Znanost o podacima

Kako stvoriti stožernu tablicu u Pandas Pythonu

Kako stvoriti stožernu tablicu u Pandas Pythonu
U pandinom pythonu, pivot tablica sadrži zbrojeve, brojanja ili funkcije agregiranja izvedene iz tablice podataka. Funkcije agregiranja mogu se koristiti na različitim značajkama ili vrijednostima. Zaokretna tablica omogućuje nam sažimanje podataka tablice grupirane prema različitim vrijednostima, uključujući kategoričke vrijednosti stupaca.

Prije upotrebe pandine pivot tablice, provjerite razumijete li svoje podatke i pitanja koja pokušavate riješiti kroz pivot tablicu. Korištenjem ove metode možete postići snažne rezultate. U ovom ćemo članku razraditi kako stvoriti zaokretnu tablicu u pandama python.

Čitanje podataka iz Excel datoteke

Preuzeli smo excel bazu podataka o prodaji hrane. Prije početka implementacije morate instalirati neke potrebne pakete za čitanje i pisanje datoteka baze podataka excel. Unesite sljedeću naredbu u terminalski odjeljak vašeg uređivača pycharm:

pip instalirati xlwt openpyxl xlsxwriter xlrd

Sada pročitajte podatke s excel lista. Uvezite potrebne pandine knjižnice i promijenite put do vaše baze podataka. Zatim se pokretanjem sljedećeg koda podaci mogu dohvatiti iz datoteke.

uvoziti pande kao pd
uvoz numpy kao np
dtfrm = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
ispis (dtfrm)

Ovdje se podaci čitaju iz baze podataka o prodaji hrane i prenose u varijablu dataframe.

Stvorite zaokretnu tablicu pomoću Pandas Pythona

U nastavku smo stvorili jednostavnu stožernu tablicu pomoću baze podataka o prodaji hrane. Za izradu zaokretne tablice potrebna su dva parametra. Prvi su podaci koje smo prenijeli u podatkovni okvir, a drugi je indeks.

Pivot podaci na indeksu

Indeks je značajka zaokretne tablice koja vam omogućuje grupiranje podataka na temelju zahtjeva. Ovdje smo uzeli 'Proizvod' kao indeks za stvaranje osnovne zaokretne tablice.

uvoziti pande kao pd
uvoz numpy kao np
okvir podataka = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.zaokretna tablica (okvir podataka, indeks = ["Proizvod"])
ispis (pivot_tble)

Sljedeći rezultat prikazuje se nakon pokretanja gornjeg izvornog koda:

Eksplicitno definirajte stupce

Za veću analizu podataka izričito definirajte nazive stupaca indeksom. Na primjer, želimo prikazati jedinu jedinicu cijene svakog proizvoda u rezultatu. U tu svrhu dodajte parametar vrijednosti u svoju zaokretnu tablicu. Sljedeći kod daje vam isti rezultat:

uvoziti pande kao pd
uvoz numpy kao np
okvir podataka = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.zaokretna tablica (okvir podataka, indeks = 'Proizvod', vrijednosti = 'Jedinstvena cijena')
ispis (pivot_tble)

Pivot podaci s višestrukim indeksom

Podaci se mogu grupirati na temelju više značajki kao indeks. Korištenjem pristupa s više indeksa možete dobiti konkretnije rezultate za analizu podataka. Na primjer, proizvodi spadaju u različite kategorije. Dakle, možete prikazati indeks "Proizvod" i "Kategorija" s dostupnim "Količinom" i "Jedinstvenom cijenom" svakog proizvoda na sljedeći način:

uvoziti pande kao pd
uvoz numpy kao np
okvir podataka = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.zaokretna tablica (okvir podataka, indeks = ["Kategorija", "Proizvod"], vrijednosti = ["UnitPrice", "Količina"])
ispis (pivot_tble)

Primjena funkcije agregiranja u zaokretnoj tablici

U zaokretnoj tablici aggfunc se može primijeniti na različite vrijednosti značajke. Rezultirajuća tablica je sažetak podataka o značajkama. Agregatna funkcija odnosi se na podatke vaše grupe u zaokretnoj tablici. Prema zadanim postavkama agregatna funkcija je np.znači (). No, na temelju korisničkih zahtjeva, različite skupne funkcije mogu se primijeniti na različite značajke podataka.

Primjer:

U ovom smo primjeru primijenili agregatne funkcije. NP.funkcija sum () koristi se za značajku 'Količina' i np.mean () funkcija za značajku "UnitPrice".

uvoziti pande kao pd
uvoz numpy kao np
okvir podataka = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.zaokretna tablica (okvir podataka, indeks = ["Kategorija", "Proizvod"], aggfunc = 'Količina': np.zbroj, 'UnitPrice': np.znači)
ispis (pivot_tble)

Nakon primjene funkcije agregiranja za različite značajke, dobit ćete sljedeći izlaz:

Korištenjem parametra vrijednosti možete primijeniti i agregatnu funkciju za određenu značajku. Ako ne želite odrediti vrijednost značajke, ona agregira numeričke značajke vaše baze podataka. Slijedeći zadani izvorni kod, možete primijeniti skupnu funkciju za određenu značajku:

uvoziti pande kao pd
uvoz numpy kao np
okvir podataka = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.zaokretna tablica (okvir podataka, indeks = ['Proizvod'], vrijednosti = ['JedinicaPrice'], aggfunc = np.znači)
ispis (pivot_tble)

Razlika između vrijednosti vs. Stupci u zaokretnoj tablici

Vrijednosti i stupci glavna su zbunjujuća točka u pivot_table. Važno je napomenuti da su stupci neobavezna polja koja prikazuju vrijednosti rezultirajuće tablice vodoravno na vrhu. Funkcija agregiranja aggfunc odnosi se na polje vrijednosti koje ste naveli.

uvoziti pande kao pd
uvoz numpy kao np
okvir podataka = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.zaokretna tablica (okvir podataka, indeks = ['Kategorija', 'Proizvod', 'Grad'], vrijednosti = ['UnitPrice', 'Količina'],
stupci = ['Regija'], aggfunc = [np.iznos])
ispis (pivot_tble)

Rukovanje podacima koji nedostaju u zaokretnoj tablici

Vrijednosti koje nedostaju također možete riješiti u izvedenoj tablici pomoću 'ispuniti_vrijednost' Parametar. To vam omogućuje da NaN vrijednosti zamijenite nekom novom vrijednošću koju pružate za popunjavanje.

Na primjer, uklonili smo sve null vrijednosti iz gornje rezultantne tablice pokretanjem sljedećeg koda i zamijenili NaN vrijednosti s 0 u cijeloj rezultantnoj tablici.

uvoziti pande kao pd
uvoz numpy kao np
okvir podataka = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ')
pivot_tble = pd.zaokretna tablica (okvir podataka, indeks = ['Kategorija', 'Proizvod', 'Grad'], vrijednosti = ['UnitPrice', 'Količina'],
stupci = ['Regija'], aggfunc = [np.zbroj], fill_value = 0)
ispis (pivot_tble)

Filtriranje u zaokretnoj tablici

Nakon generiranja rezultata, možete primijeniti filtar pomoću standardne funkcije okvira podataka. Uzmimo primjer. Filtrirajte one proizvode čija je UnitPrice manja od 60. Prikazuje one proizvode čija je cijena manja od 60.

uvoziti pande kao pd
uvoz numpy kao np
okvir podataka = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.zaokretna tablica (okvir podataka, indeks = 'Proizvod', vrijednosti = 'JedinicaPrice', aggfunc = 'zbroj')
niska cijena = pivot_tble [pivot_tble ['UnitPrice'] < 60]
ispis (niska cijena)

Korištenjem druge metode upita možete filtrirati rezultate. Na primjer, Na primjer, filtrirali smo kategoriju kolačića na temelju sljedećih značajki:

uvoziti pande kao pd
uvoz numpy kao np
okvir podataka = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.zaokretna tablica (okvir podataka, indeks = ["Kategorija", "Grad", "Regija"], vrijednosti = ["Jedinica cijene", "Količina"], aggfunc = np.iznos)
pt = pivot_tble.upit ('Kategorija == ["Kolačići"]')
ispis (pt)

Izlaz:

Vizualizirajte podatke zaokretne tablice

Da biste vizualizirali podatke zaokretne tablice, slijedite sljedeću metodu:

uvoziti pande kao pd
uvoz numpy kao np
uvoz matplotlib.pyplot kao plt
okvir podataka = pd.read_excel ('C: / Users / DELL / Desktop / foodsalesdata.xlsx ', index_col = 0)
pivot_tble = pd.zaokretna tablica (okvir podataka, indeks = ["Kategorija", "Proizvod"], vrijednosti = ["UnitPrice"])
pivot_tble.zaplet (vrsta = 'traka');
plt.pokazati()

U gornjoj vizualizaciji prikazali smo jediničnu cijenu različitih proizvoda zajedno s kategorijama.

Zaključak

Istražili smo kako možete generirati zaokretnu tablicu iz podatkovnog okvira pomoću Pandas pythona. Zaokretna tablica omogućuje vam stvaranje dubokih uvida u vaše skupove podataka. Vidjeli smo kako generirati jednostavnu zaokretnu tablicu pomoću višestrukog indeksa i primijeniti filtre na zaokretnim tablicama. Štoviše, pokazali smo i da crta podatke pivot tablice i popunjava nedostajuće podatke.

Kako prikazati brojač FPS-a u Linux igrama
Linux gaming dobio je velik poticaj kada je Valve najavio Linux podršku za Steam klijent i njihove igre 2012. godine. Od tada su mnoge AAA i indie igr...
Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...
Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...