pandas

Pandas apmācība Python

Pandas apmācība Python
Šajā nodarbībā par Python Pandas bibliotēku mēs aplūkosim dažādas datu struktūras, kuras šī Python pakete nodrošina ātrām datu apstrādes funkcijām, kas ir efektīvas dinamiskiem datiem un sarežģītu darbību pārvaldīšanai, izmantojot daudzdimensiju datus. Šajā nodarbībā mēs galvenokārt aplūkosim:

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 pandas
avots 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 pandas

Vai arī mēs varam izmantot Conda, lai instalētu šo pakotni ar šādu komandu:

conda instalēt pandas

Izpildot 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ā pd

Tagad 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ā pd
studenti = 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.forma

Kad 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:

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']> 6
roll_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.

Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...
Instalējiet jaunāko Dolphin emulatoru Gamecube un Wii operētājsistēmai Linux
Delfīnu emulators ļauj jums spēlēt izvēlētās Gamecube un Wii spēles Linux personālajos datoros (PC). Tā kā Dolphin Emulator ir brīvi pieejams un atvē...