Andmeteadus

Pandas Pythonis pöördtabeli loomine

Pandas Pythonis pöördtabeli loomine
Panda püütonis sisaldab Pivot-tabel andmetabelist tuletatud summe, loendeid või liitmisfunktsioone. Liitmisfunktsioone saab kasutada erinevate funktsioonide või väärtuste puhul. Pöördtabel võimaldab meil tabeli andmed kokku võtta rühmitatuna erinevate väärtuste, sealhulgas veeru kategooriliste väärtuste järgi.

Enne panda pöördtabeli kasutamist veenduge, et mõistaksite oma andmeid ja küsimusi, mida proovite pöördtabeli kaudu lahendada. Selle meetodi abil saate anda võimsaid tulemusi. Selles artiklis käsitleme üksikasjalikult, kuidas pandas pythonis pöördtabelit luua.

Andmete lugemine Exceli failist

Oleme alla laadinud Exceli toidumüügi andmebaasi. Enne juurutamise alustamist peate installima mõned vajalikud paketid Exceli andmebaasi failide lugemiseks ja kirjutamiseks. Sisestage Pycharm-redaktori terminali jaotisse järgmine käsk:

pip installige xlwt openpyxl xlsxwriter xlrd

Nüüd lugege Exceli lehe andmeid. Importige vajalikud panda teegid ja muutke oma andmebaasi teed. Seejärel saab järgmise koodi käivitamise abil failist andmeid hankida.

impordi pandad kui pd
impordi numpy kui np
dtfrm = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ')
print (dtfrm)

Siin loetakse andmed toidumüügi exceli andmebaasist ja edastatakse andmekaadri muutujasse.

Pivoti tabeli loomiseks kasutage Pandas Pythoni

Allpool oleme loonud toidumüügi andmebaasi abil lihtsa pöördtabeli. Pöördtabeli loomiseks on vaja kahte parameetrit. Esimene neist on andmed, mille oleme andmeraami edastanud, ja teine ​​on indeks.

Pivoti andmed indeksis

Indeks on pöördtabeli funktsioon, mis võimaldab teil andmeid vastavalt vajadustele rühmitada. Siin oleme põhilise pöördtabeli loomiseks kasutanud indeksit „Product”.

impordi pandad kui pd
impordi numpy kui np
andmekaader = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ')
pöördtabel = pd.pöördtabel (andmekaader, register = ["toode"])
print (pivot_tble)

Pärast ülaltoodud lähtekoodi käivitamist kuvatakse järgmine tulemus:

Määrake selgesõnaliselt veerud

Andmete täpsema analüüsi jaoks määrake veerunimed koos indeksiga selgesõnaliselt. Näiteks tahame tulemuses kuvada iga toote ainsa UnitPrice. Sel eesmärgil lisage pöördtabelisse väärtuste parameeter. Järgmine kood annab teile sama tulemuse:

impordi pandad kui pd
impordi numpy kui np
andmekaader = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ')
pöördtabel = pd.pöördtabel (andmekaader, register = 'toode', väärtused = 'ühikuhind')
print (pivot_tble)

Mitme indeksiga Pivot Data

Andmeid saab rühmitada indeksina mitme funktsiooni alusel. Mitme indeksiga lähenemist kasutades saate andmete analüüsi jaoks täpsemaid tulemusi. Näiteks tooted kuuluvad erinevatesse kategooriatesse. Niisiis saate kuvada iga toote indeksi „Toode” ja „Kategooria” koos saadaolevate “Kogus” ja “Ühikuhind” järgmiselt:

impordi pandad kui pd
impordi numpy kui np
andmekaader = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ')
pöördtabel = pd.pöördtabel (andmekaader, register = ["Kategooria", "Toode"], väärtused = ["Ühikuhind", "Kogus"])
print (pivot_tble)

Liitmisfunktsiooni rakendamine Pivoti tabelis

Pöördtabelis saab aggfunc-i rakendada erinevate funktsiooniväärtuste jaoks. Saadud tabel on funktsiooniandmete kokkuvõte. Koondfunktsioon kehtib teie grupiandmete kohta pivot_table'is. Vaikimisi on koondfunktsioon np.keskmine (). Kuid kasutajate nõuetest lähtuvalt võivad erinevate andmefunktsioonide jaoks rakendada erinevaid koondfunktsioone.

Näide:

Selles näites oleme rakendanud koondfunktsioone. Np.funktsiooni sum () kasutatakse funktsiooni 'Kogus' ja np jaoks.funktsioon „Ühikhind” funktsioonile mean ().

impordi pandad kui pd
impordi numpy kui np
andmekaader = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ')
pöördtabel = pd.pöördtabel (andmekaader, register = ["Kategooria", "Toode"], aggfunc = 'Kogus': np.summa, „Ühikuhind”: np.tähendab)
print (pivot_tble)

Pärast liitmisfunktsiooni rakendamist erinevate funktsioonide jaoks saate järgmise väljundi:

Väärtuse parameetri abil saate konkreetse funktsiooni jaoks rakendada ka koondfunktsiooni. Kui te ei määra funktsiooni väärtust, koondab see teie andmebaasi arvulised tunnused. Antud lähtekoodi järgi saate koondfunktsiooni rakendada konkreetse funktsiooni jaoks:

impordi pandad kui pd
impordi numpy kui np
andmekaader = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ')
pööratav_tabel = pd.pöördtabel (andmekaader, register = ['toode'], väärtused = ['ühikuhind'], aggfunc = np.keskmine)
print (pivot_tble)

Erinevad väärtused vs. Pivoti tabeli veerud

Väärtused ja veerud on pivot_tabeli peamine segane punkt. Oluline on märkida, et veerud on valikulised väljad, kuvades saadud tabeli väärtused horisontaalselt ülaosas. Liitmisfunktsioon aggfunc kehtib teie loetletud väärtuste väljale.

impordi pandad kui pd
impordi numpy kui np
andmekaader = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ')
pööratav_tabel = pd.pöördtabel (andmekaader, register = ['Kategooria', 'Toode', 'Linn'], väärtused = ['Ühikuhind', 'Kogus'],
veerud = ['piirkond'], aggfunc = [np.summa])
print (pivot_tble)

Puuduvate andmete käitlemine pöördtabelis

Punkti Puuduvad väärtused saate käsitseda ka abil 'fill_value' Parameeter. See võimaldab teil asendada NaN väärtused mõne uue väärtusega, mille soovite täita.

Näiteks eemaldasime ülaltoodud tulemustabelist kõik nullväärtused, käivitades järgmise koodi, ja asendasime NaN väärtused 0-ga kogu tulemustabelis.

impordi pandad kui pd
impordi numpy kui np
andmekaader = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ')
pöördtabel = pd.pöördtabel (andmekaader, register = ['Kategooria', 'Toode', 'Linn'], väärtused = ['Ühikuhind', 'Kogus'],
veerud = ['piirkond'], aggfunc = [np.summa], täiteväärtus = 0)
print (pivot_tble)

Filtreerimine pöördtabelis

Kui tulemus on loodud, saate filtri rakendada, kasutades standardset andmekaadri funktsiooni. Võtame näite. Filtreerige tooted, mille UnitPrice on alla 60. Selles kuvatakse need tooted, mille hind on alla 60.

impordi pandad kui pd
impordi numpy kui np
andmekaader = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ', index_col = 0)
pöördtabel = pd.pöördtabel (andmekaader, register = 'toode', väärtused = 'ühikuhind', aggfunc = 'summa')
low_price = pöördtabel [pivot_tble ['UnitPrice'] < 60]
print (madal hind)

Teist päringumeetodit kasutades saate tulemusi filtreerida. Näiteks oleme filtreerinud küpsiste kategooria järgmiste funktsioonide põhjal:

impordi pandad kui pd
impordi numpy kui np
andmekaader = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ', index_col = 0)
pöördtabel = pd.pöördtabel (andmekaader, register = ["kategooria", "linn", "piirkond"], väärtused = ["ühikuhind", "kogus"], aggfunc = np.summa)
pt = pöördetabel.päring ('Kategooria == ["Küpsised"]')
print (pt)

Väljund:

Visualiseerige pöördtabeli andmed

Pöördtabeli andmete visualiseerimiseks toimige järgmiselt

impordi pandad kui pd
impordi numpy kui np
import matplotlib.püplot nagu plt
andmekaader = pd.read_excel ('C: / Kasutajad / DELL / Töölaud / foodsalesdata.xlsx ', index_col = 0)
pööratav_tabel = pd.pöördtabel (andmekaader, register = ["Kategooria", "Toode"], väärtused = ["Ühikuhind"])
pöördetabel.joonistus (kind = 'baar');
plt.näita ()

Eespool toodud visualiseerimisel oleme koos kategooriatega näidanud erinevate toodete ühikuhinda.

Järeldus

Uurisime, kuidas saate Pandas pythoni abil andmekaadrist luua liigendtabeli. Pöördtabel võimaldab teil andmekogumitest põhjalikke teadmisi luua. Oleme näinud, kuidas genereerida lihtne indekstabel mitme indeksi abil ja rakendada filtrid pöördtabelitele. Lisaks oleme näidanud ka pöördtabeli andmete joonistamist ja puuduvate andmete täitmist.

Kuidas kasutada Xdotooli hiireklõpsude ja klahvivajutuste stimuleerimiseks Linuxis
Xdotool on tasuta ja avatud lähtekoodiga käsurea tööriist hiireklõpsude ja klahvivajutuste simuleerimiseks. See artikkel hõlmab lühikest juhendit xdot...
Viis parimat ergonoomilist arvutihiiretoodet Linuxile
Kas pikaajaline arvuti kasutamine põhjustab valu randmes või sõrmedes?? Kas teil on liigeste jäikus ja peate pidevalt käsi suruma? Kas tunnete põletav...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...