- Mis on Pandase pakett
- Installimine ja alustamine
- Andmete laadimine CSV-dest Pandas DataFrame'i
- Mis on DataFrame ja kuidas see töötab
- DataFrame'i viilutamine
- Matemaatilised toimingud üle DataFrame'i
See näeb välja palju, mida katta. Alustame kohe.
Mis on Python Pandase pakett?
Pandase kodulehe andmetel: pandas on avatud lähtekoodiga, BSD-litsentsiga raamatukogu, mis pakub Pythoni programmeerimiskeele jaoks suure jõudlusega ja hõlpsasti kasutatavaid andmestruktuure ja andmeanalüüsi tööriistu.
Pandade üks lahedamaid asju on see, et see võimaldab andmeid lugeda tavalistest andmevormingutest nagu CSV, SQL jne. väga lihtne, mis muudab selle võrdselt kasutatavaks tootmistaseme rakendustes või lihtsalt mõnes demorakenduses.
Installige Python Pandas
Enne installiprotsessi alustamist kasutame vaid märkust selle õppetunni jaoks virtuaalse keskkonna, mille tegime järgmise käsuga:
python -m virtualenv pandadallikas pandad / bin / aktiveeri
Kui virtuaalne keskkond on aktiivne, saame virtuaalsesse keskkonda installida pandade kogu, et järgmisena loodud näited saaksid täidetud:
pip paigaldada pandadVõi võime kasutada Condat selle paketi installimiseks järgmise käsuga:
konda paigaldada pandadÜlaloleva käsu täitmisel näeme midagi sellist:
Kui installimine on Condaga lõpule jõudnud, saame oma Pythoni skriptides paketti kasutada järgmiselt:
impordi pandad kui pdAlustame Pandade kasutamist nüüd oma skriptides.
CSV-faili lugemine rakendusega Pandas DataFrames
CSV-faili lugemine on pandade abil lihtne. Demonstratsiooniks oleme loonud järgmise sisuga väikese CSV-faili:
Nimi, loetelu nr, vastuvõtu kuupäev, hädaolukorra kontaktShubham, 1,20-05-2012,9988776655
Gagan, 2,20-05-2009, 8364517829
Oshima, 3,20-05-2003,5454223344
Vyom, 4,20-05-2009,1223344556
Ankur, 5,20-05-1999,9988776655
Vinod, 6,20-05-1999,9988776655
Vipin, 7,20-05-2002, 9988776655
Ronak, 8,20-05-2007,1223344556
DJ, 9,20-05-2014 9988776655
VJ, 10,20-05-2015,9988776655
Salvestage see fail Pythoni skripti samasse kataloogi. Kui fail on olemas, lisage Pythoni faili järgmine koodilõik:
impordi pandad kui pdõpilased = pd.read_csv ("õpilased.csv ")
õpilased.pea ()
Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Funktsiooni Pands (head) saab kasutada DataFrame'is olevate andmete valimi kuvamiseks. Oota, DataFrame? Uurime järgmises jaotises palju rohkem DataFrame'i kohta, kuid mõistame lihtsalt, et DataFrame on n-mõõtmeline andmestruktuur, mida saab kasutada andmehulga jaoks keerukate toimingute hoidmiseks ja analüüsimiseks.
Samuti näeme, mitu rida ja veergu praegustel andmetel on:
õpilased.kujuKui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Pange tähele, et Pandas loeb ka ridade arvu alates 0-st.
Pandadega on võimalik saada lihtsalt veerg loendist. Seda saab teha abiga indekseerimine Pandas. Vaatame sama lühikest koodilõiku:
student_names = õpilased ['nimi']õpilase_nimed
Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Kuid see ei tundu nagu nimekiri, eks? Noh, selle objekti loendiks teisendamiseks peame selgesõnaliselt kutsuma funktsiooni:
õpilase_nimed = õpilase_nimed.loetlema()õpilase_nimed
Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Lihtsalt lisateabe saamiseks võime veenduda, et loendi kõik elemendid on ainulaadsed ja valime tühjad elemendid, lisades mõned lihtsad kontrollid, näiteks:
student_names = õpilased ['nimi'].dropna ().ainulaadne ().loetlema()Meie puhul väljund ei muutu, kuna loend ei sisalda juba ühtegi ebameeldivat väärtust.
Samuti võime teha algandmetega DataFrame'i ja edastada koos veergude nimed, nagu on näidatud järgmises koodilõigus:
minu_andmed = pd.DataFrame ([
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
],
veerud = ["auaste", "perekonnanimi"]
)
minu_andmed
Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
DataFrame'i viilutamine
DataFrame'i jaotamine ainult valitud ridade ja veergude väljavõtmiseks on oluline funktsioon, et hoida tähelepanu vajalike andmete osade suhtes, mida peame kasutama. Selleks võimaldab Pandas meil viilida DataFrame'i vastavalt vajadusele selliste lausetega:
- iloc [: 4 ,:] - valib esimesed 4 rida ja nende ridade jaoks kõik veerud.
- iloc [:,:] - valitud on täielik DataFrame
- iloc [5:, 5:] - read 5. positsioonist ja veerud 5. positsioonist edasi.
- iloc [:, 0] - esimene veerg ja kõik veeru read.
- iloc [9 ,:] - 10. rida ja kõik selle rea veerud.
Eelmises jaotises oleme juba näinud indekseerimist ja viilimist indeksite asemel veerunimedega. Samuti on võimalik viilutamine segada indeksnumbrite ja veergude nimedega. Vaatame lihtsat koodijuppi:
õpilased.loc [: 5, 'nimi']Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Võimalik on määrata mitu veergu:
õpilased.loc [: 5, ['nimi', 'hädaabikontakt']]Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Seeria andmekonstruktsioon pandades
Nii nagu Pandas (mis on mitmemõõtmeline andmestruktuur), on seeria Pandades ühemõõtmeline andmestruktuur. DataFrame'ist ühe veeru hankimisel töötame tegelikult seeriaga:
tüüp (õpilased ["nimi"])Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Saame konstrueerida ka oma seeria, siin on sama koodilõik:
seeria = pd.Seeria (['Shubham', 3.7])seeria
Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Nagu ülaltoodud näitest selge, võib seeria sisaldada mitut andmetüüpi ka sama veeru jaoks.
Boole'i filtrid rakenduses Pandas DataFrame
Pandase üks hea asi on see, kuidas on tingimuse põhjal andmete eraldamine DataFrame'ist. Nagu õpilaste väljavõtmine ainult siis, kui nimekirjade arv on suurem kui 6:
roll_filter = õpilased ['RollNo']> 6rull_filter
Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Noh, seda me ei oodanud. Kuigi väljund on üsna selgesõnaline selle kohta, millised read vastasid meie pakutavale filtrile, kuid meil pole siiski täpseid ridu, mis selle filtri rahuldaks. Selgub, et saame kasutada filtreid DataFrame'i indeksitena samuti:
õpilased [roll_filter]Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Filtris on võimalik kasutada mitut tingimust, et andmeid saaks filtreerida ühele lühikesele filtrile, näiteks:
järgmine_filter = (õpilased ['RollNo']> 6) ja (õpilased ['Nimi']> 'S')õpilased [järgmine_filter]
Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Mediaani arvutamine
DataFrame'is saame arvutada ka palju matemaatilisi funktsioone. Toome mediaani arvutamise hea näite. Mediaan arvutatakse kuupäeva, mitte ainult arvude jaoks. Vaatame sama lühikest koodilõiku:
kuupäevad = üliõpilased ['vastuvõtu kuupäev'].astype ('datetime64 [ns]').kvantiil (.5)kuupäevad
Kui ülaltoodud koodilõik on käivitatud, näeme järgmist väljundit:
Selle saavutasime kõigepealt olemasoleva kuupäevaveeru indekseerimise ja seejärel veerule andmetüübi andmise, et Pandas saaks selle õigesti järeldada, kui rakendab kvantfunktsiooni mediaani.
Järeldus
Selles tunnis vaatasime Pandade töötlemisraamatukogu erinevaid aspekte, mida saame Pythoniga kasutada andmete kogumiseks erinevatest allikatest andmestruktuuri DataFrame, mis võimaldab meil andmekogumit keerukalt kasutada. See võimaldab meil saada ka alamhulka andmeid, millega soovime hetkega töötada, ja pakub palju matemaatilisi toiminguid.
Palun jagage oma tagasisidet õppetunni kohta Twitteris @sbmaggarwal ja @LinuxHint.