- Kas ir Pandas pakete
- Instalēšana un darba sākšana
- Notiek datu ielāde no CSV Pandas DataFrame
- Kas ir DataFrame un kā tas darbojas
- DataFrames sagriešana
- Matemātiskās darbības, izmantojot DataFrame
Tas izskatās daudz, lai segtu. Sāksim tagad.
Kas ir Python Pandas pakete?
Saskaņā ar Pandas mājas lapu: pandas ir atvērtā koda BSD licencēta bibliotēka, kas nodrošina augstas veiktspējas, viegli lietojamas datu struktūras un datu analīzes rīkus Python programmēšanas valodai.
Viena no stilīgākajām lietām Pandas ir tā, ka tā ļauj nolasīt datus no tādiem izplatītiem datu formātiem kā CSV, SQL utt. ļoti viegli, kas padara to vienlīdz lietojamu ražošanas pakāpes lietojumprogrammās vai tikai dažās demonstrācijas lietojumprogrammās.
Instalējiet Python Pandas
Tikai piezīme pirms instalēšanas procesa sākšanas šai nodarbībai tiek izmantota virtuālā vide, kuru izveidojām ar šādu komandu:
pitons -m virtualenv pandasavots pandas / bin / aktivizēt
Kad virtuālā vide ir aktīva, mēs virtuālajā env varam instalēt pandas bibliotēku, lai varētu izpildīt nākamos veidotos piemērus:
pip instalēt pandasVai arī mēs varam izmantot Conda, lai instalētu šo pakotni ar šādu komandu:
conda instalēt pandasIzpildot iepriekš minēto komandu, mēs redzam kaut ko līdzīgu:
Kad instalēšana būs pabeigta ar Conda, mēs varēsim izmantot pakotni mūsu Python skriptos kā:
importa pandas kā pdTagad sāksim lietot Pandas savos skriptos.
CSV faila lasīšana ar Pandas DataFrames
Izmantojot Pandas, CSV failu ir viegli lasīt. Demonstrācijai mēs esam izveidojuši nelielu CSV failu ar šādu saturu:
Vārds, saraksta Nr., Uzņemšanas datums, ārkārtas kontaktsŠūhems, 1,20-05-2012,9988776655
Gagans, 2,20-05-2009,8364517829
Ošima, 3,20-05-2003,5454223344
Vjoms, 4,20-05-2009,1223344556
Ankur, 5,20-05-1999,9988776655
Vinod, 6,20-05-1999,9988776655
Vipins, 7,20-05-2002,9988776655
Ronaks, 8,20-05-2007,1223344556
DJ, 9,20-05-2014,9988776655
VJ, 10,20-05-2015,9988776655
Saglabājiet šo failu tajā pašā direktorijā kā Python skripts. Kad fails ir pieejams, Python failā pievienojiet šādu koda fragmentu:
importa pandas kā pdstudenti = pd.lasīt_csv ("studenti.csv ")
studentiem.galva ()
Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Funkciju head () Pandas var izmantot, lai parādītu DataFrame esošo datu paraugu. Pagaidiet, DataFrame? Nākamajā sadaļā mēs daudz vairāk pētīsim par DataFrame, taču vienkārši saprotam, ka DataFrame ir n-dimensiju datu struktūra, kuru var izmantot, lai noturētu un analizētu vai sarežģītas darbības, izmantojot datu kopu.
Mēs varam arī redzēt, cik rindu un kolonnu ir pašreizējiem datiem:
studentiem.formaKad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Ņemiet vērā, ka Pandas arī skaita rindu skaitu, sākot no 0.
Sarakstā ar Pandām ir iespējams iegūt tikai kolonnu. To var izdarīt ar indeksēšana Pandās. Apskatīsim īsu koda fragmentu tam pašam:
studentu_nosaukumi = studenti ['Vārds']studentu vārdi
Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Bet tas neizskatās pēc saraksta, vai tā? Nu, mums ir skaidri jāaicina funkcija, lai šo objektu pārvērstu sarakstā:
studentu_vārdi = studentu_vārdi.uzskaitīt()studentu vārdi
Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Lai iegūtu papildu informāciju, mēs varam pārliecināties, ka katrs saraksta elements ir unikāls, un mēs izvēlamies tikai tukšus elementus, pievienojot dažas vienkāršas pārbaudes, piemēram:
studentu_vārdi = studenti ['Vārds'].dropna ().unikāls ().uzskaitīt()Mūsu gadījumā izeja nemainīsies, jo sarakstā jau nav nevienas nepareizas vērtības.
Mēs varam arī izveidot DataFrame ar neapstrādātiem datiem un kopā ar tiem nodot kolonnu nosaukumus, kā parādīts šajā koda fragmentā:
my_data = pd.DataFrame ([
[1, "Chan"],
[2, Smits],
[3, "Winslet"]
],
kolonnas = ["Rangs", "Uzvārds"]
)
my_data
Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
DataFrames sagriešana
DataFrame sadalīšana, lai iegūtu tikai atlasītās rindas un kolonnas, ir svarīga funkcionalitāte, lai pievērstu uzmanību nepieciešamajām datu daļām, kuras mums jāizmanto. Šim nolūkam Pandas ļauj mums sagriezt DataFrame pēc vajadzības, izmantojot šādus paziņojumus:
- iloc [: 4 ,:] - atlasa pirmās 4 rindas un visas kolonnas šīm rindām.
- iloc [:,:] - ir atlasīts pilns DataFrame
- iloc [5:, 5:] - rindas no 5. pozīcijas un kolonnas no 5. pozīcijas uz priekšu.
- iloc [:, 0] - pirmā kolonna un visas kolonnas rindas.
- iloc [9 ,:] - 10. rinda un visas šīs rindas kolonnas.
Iepriekšējā sadaļā mēs jau esam redzējuši indeksēšanu un sagriešanu ar kolonnu nosaukumiem indeksu vietā. Ir iespējams arī sajaukt sagriešanu ar indeksa numuriem un kolonnu nosaukumiem. Apskatīsim vienkāršu koda fragmentu:
studentiem.loc [: 5, 'vārds']Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Ir iespējams norādīt vairākas kolonnas:
studentiem.loc [: 5, ['Nosaukums', 'Ārkārtas kontakts']]Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Sērijas datu struktūra pandās
Tāpat kā Pandas (kas ir daudzdimensionāla datu struktūra), arī sērija ir Pandas vienas dimensijas datu struktūra. Iegūstot vienu kolonnu no DataFrame, mēs faktiski strādājam ar sēriju:
tips (studenti ["Vārds"])Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Mēs varam izveidot arī savu sēriju, šeit ir koda fragments:
sērija = pd.Sērija (['Shubham', 3.7])sērija
Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Kā redzams no iepriekš minētā piemēra, sērijā var būt iekļauti arī vairāki datu tipi tai pašai kolonnai.
Būla filtri Pandas DataFrame
Viena no labajām lietām Pandas ir tas, kā ir iegūt datus no DataFrame, pamatojoties uz nosacījumu. Tāpat kā studentu iegūšana tikai tad, ja to skaits ir lielāks par 6:
roll_filter = studenti ['RollNo']> 6roll_filter
Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Nu, tas nav tas, ko mēs gaidījām. Lai gan izvade ir diezgan skaidra par to, kuras rindas apmierināja mūsu piedāvāto filtru, bet mums joprojām nav precīzu rindu, kas apmierinātu šo filtru. Izrādās filtrus varam izmantot kā DataFrame indeksus arī:
studenti [roll_filter]Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Filtrā ir iespējams izmantot vairākus nosacījumus, lai datus varētu filtrēt vienā kodolīgā filtrā, piemēram:
next_filter = (studenti ['RollNo']> 6) un (studenti ['Vārds']> 'S')studenti [next_filter]
Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Aprēķina mediānu
DataFrame mēs varam aprēķināt arī daudzas matemātiskās funkcijas. Mēs sniegsim labu mediānas aprēķināšanas piemēru. Mediāna tiks aprēķināta datumam, nevis tikai skaitļiem. Apskatīsim īsu koda fragmentu tam pašam:
datumi = studenti ['Uzņemšanas datums'].astype ('datetime64 [ns]').kvantile (.5)datumiem
Kad mēs izpildīsim iepriekš minēto koda fragmentu, mēs redzēsim šādu izvadi:
Mēs to panācām, vispirms indeksējot datuma kolonnu, kas mums ir, un pēc tam kolonnai norādot datu tipu, lai Pandas to varētu pareizi secināt, kad tiek izmantota kvantu funkcija, lai aprēķinātu mediānas datumu.
Secinājums
Šajā nodarbībā mēs apskatījām dažādus Pandas apstrādes bibliotēkas aspektus, kurus mēs varam izmantot kopā ar Python, lai datus no dažādiem avotiem apkopotu DataFrame datu struktūrā, kas ļauj mums sarežģīti darboties ar datu kopu. Tas arī ļauj mums iegūt datu apakškopu, ar kuru mēs vēlamies strādāt īslaicīgi, un nodrošina daudzas matemātiskas darbības.
Lūdzu, dalieties savās atsauksmēs par nodarbību Twitter vietnē @sbmaggarwal un @LinuxHint.