pande

Vodič za pande u Pythonu

Vodič za pande u Pythonu
U ovoj ćemo lekciji o biblioteci Python Pandas razmotriti različite strukture podataka koje ovaj Python paket pruža za brzu funkcionalnost obrade podataka koja je učinkovita za dinamičke podatke i upravljanje složenim operacijama nad višedimenzionalnim podacima. U ovoj ćemo lekciji uglavnom obraditi:

Ovo izgleda puno za pokriti. Krenimo odmah.

Što je paket Python Pandas?

Prema početnoj stranici Pandas: pandas je biblioteka s otvorenim izvorom, BSD-licencirana, pruža podatkovne strukture visokih performansi, jednostavne za upotrebu i alate za analizu podataka za programski jezik Python.

Jedna od najzgodnijih stvari o Pandama je ta što čini čitanje podataka iz uobičajenih formata podataka kao što su CSV, SQL itd. vrlo jednostavno što ga čini jednako korisnim u proizvodnim aplikacijama ili samo u nekim demo programima.

Instalirajte Python Pande

Samo napomenu prije početka instalacijskog postupka, za ovu lekciju koristimo virtualno okruženje koje smo napravili sljedećom naredbom:

python -m virtualenv pande
izvorne pande / bin / aktiviraj

Jednom kada je virtualno okruženje aktivno, možemo instalirati biblioteku panda unutar virtualne env tako da se mogu izvršiti primjeri koje sljedeći kreiramo:

pip instalirati pande

Ili možemo koristiti Conda za instalaciju ovog paketa pomoću sljedeće naredbe:

conda instalirati pande

Otprilike ovako vidimo kad izvršimo gornju naredbu:

Kada se instalacija završi s Condom, moći ćemo koristiti paket u našim Python skriptama kao:

uvoziti pande kao pd

Počnimo sada koristiti Pande u našim skriptama.

Čitanje CSV datoteke s Pandas DataFrames

Čitanje CSV datoteke jednostavno je s Pandama. Za demonstraciju smo napravili malu CSV datoteku sa sljedećim sadržajem:

Ime, RollNo, Datum prijema, Kontakt za hitne slučajeve
Shubham, 1.20.5.2012.99988776655
Gagan, 02. 02. 2009. 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

Spremite ovu datoteku u isti direktorij kao i Python skripta. Nakon što je datoteka prisutna, dodajte sljedeći isječak koda u Python datoteku:

uvoziti pande kao pd
studenti = pd.read_csv ("studenti.csv ")
studenti.glava ()

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Funkcija head () u Pandama može se koristiti za prikaz uzorka podataka prisutnih u DataFrame-u. Čekaj, DataFrame? U sljedećem ćemo odjeljku proučiti mnogo više o DataFrameu, ali samo shvatiti da je DataFrame n-dimenzionalna struktura podataka koja se može koristiti za zadržavanje i analizu ili složene operacije nad nizom podataka.

Također možemo vidjeti koliko redaka i stupaca imaju trenutni podaci:

studenti.oblik

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Imajte na umu da Pande također broje broj redaka počevši od 0.

Na popisu s Pandama moguće je dobiti samo stupac. To se može učiniti pomoću indeksiranje u Pandama. Pogledajmo kratki isječak koda za isti:

student_names = students ['Ime']
imena učenika

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Ali to ne izgleda kao popis, zar ne? Pa, moramo izričito pozvati funkciju za pretvaranje ovog objekta u popis:

studentska imena = studentska imena.izlistati()
imena učenika

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Samo za dodatne informacije, možemo osigurati da je svaki element na popisu jedinstven i neprazne elemente biramo samo dodavanjem nekoliko jednostavnih provjera poput:

student_names = students ['Ime'].dropna ().jedinstveno ().izlistati()

U našem slučaju, izlaz se neće promijeniti jer popis već ne sadrži nikakve pogrešne vrijednosti.

Također možemo napraviti DataFrame sa sirovim podacima i zajedno s njim proslijediti imena stupaca, kao što je prikazano u sljedećem isječku koda:

my_data = pd.DataFrame (
[
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
],
stupci = ["Poredak", "Prezime"]
)
my_data

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Rezanje okvira podataka

Razbijanje okvira podataka za izdvajanje samo odabranih redaka i stupaca važna je funkcionalnost za zadržavanje pozornosti prema potrebnim dijelovima podataka koje trebamo koristiti. Zbog toga nam Pandas omogućuje da izrežemo DataFrame po potrebi i s izjavama poput:

U prethodnom smo odjeljku već vidjeli indeksiranje i rezanje s imenima stupaca umjesto indeksa. Također je moguće kombiniranje rezanja s indeksnim brojevima i imenima stupaca. Pogledajmo jednostavan isječak koda:

studenti.loc [: 5, 'Ime']

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Moguće je odrediti više stupaca:

studenti.loc [: 5, ['Ime', 'Kontakt za hitne slučajeve']]

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Struktura podataka serije u Pandama

Baš kao i Pande (koja je višedimenzionalna struktura podataka), Serija je jednodimenzionalna struktura podataka u Pandama. Kada dohvatimo jedan stupac iz DataFrame-a, zapravo radimo sa serijom:

vrsta (studenti ["Ime"])

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Možemo konstruirati i vlastitu seriju, evo isječka koda za istu:

serija = pd.Serija (['Shubham', 3.7])
niz

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Kao što je jasno iz gornjeg primjera, serija također može sadržavati više vrsta podataka za isti stupac.

Logički filtri u Pandas DataFrameu

Jedna od dobrih stvari u Pandasu je kako izvući podatke iz DataFramea na temelju stanja. Poput vađenja učenika samo kada je broj role veći od 6:

roll_filter = students ['RollNo']> 6
roll_filter

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Pa, to nismo očekivali. Iako je u izlazu prilično eksplicitno o tome koji su retci zadovoljili filtar koji smo dali, ali još uvijek nemamo točne retke koji su zadovoljili taj filtar. Ispada to filtere možemo koristiti kao indekse DataFrame također:

studenti [roll_filter]

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Moguće je koristiti više uvjeta u filtru kako bi se podaci mogli filtrirati na jednom sažetom filtru, poput:

next_filter = (studenti ['RollNo']> 6) & (studenti ['Ime']> 'S')
studenti [sljedeći_filter]

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

Izračunavanje medijana

U DataFrameu možemo izračunati i mnoge matematičke funkcije. Dat ćemo dobar primjer izračunavanja medijana. Medijana će se izračunati za datum, a ne samo za brojeve. Pogledajmo kratki isječak koda za isti:

datumi = studenti ['Datum prijema'].astype ('datetime64 [ns]').kvantil (.5)
datumi

Jednom kada pokrenemo gornji isječak koda, vidjet ćemo sljedeći izlaz:

To smo postigli tako što smo prvo indeksirali datumski stupac koji imamo, a zatim pružili vrstu podataka stupcu tako da ga Pandas može ispravno zaključiti kada primjenjuje funkciju kvantile za izračunavanje medijana datuma.

Zaključak

U ovoj smo lekciji pogledali razne aspekte Pandasove knjižnice za obradu koju možemo koristiti s Pythonom za prikupljanje podataka iz različitih izvora u DataFrame strukturu podataka koja nam omogućava sofisticirano djelovanje na skupu podataka. Također nam omogućuje da dobijemo podskup podataka na kojima želimo trenutno raditi i pruža mnoge matematičke operacije.

Molimo podijelite svoje povratne informacije o lekciji na Twitteru s @sbmaggarwal i @LinuxHint.

Kako promijeniti pokazivač miša i veličinu, boju i shemu pokazivača na sustavu Windows 10
Pokazivač i pokazivač miša u sustavu Windows 10 vrlo su važni aspekti operativnog sustava. To se može reći i za druge operativne sustave, tako da u is...
Besplatni i otvoreni kodni pokretački programi za razvoj Linux igara
Ovaj će članak pokriti popis besplatnih i open source pokretačkih igara koje se mogu koristiti za razvoj 2D i 3D igara na Linuxu. Brojni su takvi moto...
Vodič za Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider dvanaesti je dodatak seriji Tomb Raider - franšizi u akcijsko-avanturističkoj igri koju je stvorio Eidos Montreal. I kritiča...