Dette ser ut som mye å dekke. La oss komme i gang nå.
Hva er Python Pandas -pakken?
I følge Pandas-hjemmesiden: Pandas er en åpen kildekode, BSD-lisensiert bibliotek som gir høyytelses, brukervennlige datastrukturer og dataanalyseverktøy for Python-programmeringsspråket.
Noe av det kuleste med pandaer er at det gjør lesedata fra vanlige dataformater som CSV, SQL osv. Veldig enkelt som gjør det like brukbart i produksjonskvalitetsapplikasjoner eller bare noen demo -applikasjoner.
Installer Python Pandas
Bare et notat før vi starter installasjonsprosessen, bruker vi et virtuelt miljø for denne leksjonen som vi laget med følgende kommando:
python -m virtualenv pandasNår det virtuelle miljøet er aktivt, kan vi installere Pandas -biblioteket i det virtuelle Env, slik at eksempler vi oppretter neste kan utføres:
Pip installer pandaerEller vi kan bruke Conda til å installere denne pakken med følgende kommando:
conda installer pandaerVi ser noe slikt når vi utfører kommandoen ovenfor:
Når installasjonen er fullført med Conda, vil vi kunne bruke pakken i Python -skriptene våre som:
Importer pandaer som PDLa oss begynne å bruke pandaer i skriptene våre nå.
Leser CSV -fil med Pandas Dataframes
Å lese en CSV -fil er enkelt med pandaer. For demonstrasjon har vi konstruert en liten CSV -fil med følgende innhold:
Navn, Rollno, Dato for opptak, nødkontaktLagre denne filen i samme katalog som i Python -skriptet. Når filen er til stede, legg til følgende kodebit i en Python -fil:
Importer pandaer som PDNår vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Hodet () -funksjonen i pandaer kan brukes til å vise et utvalg av data som er til stede i DataFrame. Vent, DataFrame? Vi vil studere mye mer om DataFrame i neste avsnitt, men bare forstå at en DataFrame er en N-dimensjonal datastruktur som kan brukes til å holde og analysere eller komplekse operasjoner over et sett med data.
Vi kan også se hvor mange rader og kolonner har gjeldende data:
studenter.formNår vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Merk at pandaer også teller antall rader som starter fra 0.
Det er mulig å få bare kolonnen i en liste med pandaer. Dette kan gjøres ved hjelp av indeksering i pandaer. La oss se på et kort kodebit for det samme:
student_names = studenter ['navn']Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Men det ser ikke ut som en liste, gjør det? Vel, vi må eksplisitt kalle en funksjon for å konvertere dette objektet til en liste:
student_names = student_names.ramse opp()Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Bare for ekstra informasjon, kan vi sørge for at hvert element i listen er unikt, og at vi bare velger ikke-tomme elementer ved å legge til noen enkle kontroller som:
student_names = studenter ['navn'].dropna ().unik().ramse opp()I vårt tilfelle vil ikke utdataene endre seg, da listen allerede ikke inneholder noen foul verdier.
Vi kan også lage et dataaframe med rå data og passere kolonnenavnene sammen med det, som vist i følgende kodebit:
my_data = pd.Dataramme(Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Skiver Dataframes
Å bryte ned dataframmer for å trekke ut bare de valgte radene og kolonnene er en viktig funksjonalitet for å holde oppmerksomhet mot nødvendige deler av data som vi trenger å bruke. For dette lar Pandas oss skive DataFrame når og når det er nødvendig med utsagn som:
I forrige seksjon har vi allerede sett indeksering og skiver med kolonnenavn i stedet for indeksene. Det er også mulig å blande skiver med indeksnumre og kolonnenavn. La oss se på et enkelt kodebit:
studenter.loc [: 5, 'navn']Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Det er mulig å spesifisere mer enn en kolonne:
studenter.Loc [: 5, ['Name', 'Emergency Contact']]Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Seriedatastruktur i pandaer
Akkurat som pandaer (som er en flerdimensjonal datastruktur), er en serie en endimensjon datastruktur i pandaer. Når vi henter en enkelt kolonne fra en DataFrame, jobber vi faktisk med en serie:
type (studenter ["Navn"])Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Vi kan konstruere vår egen serie også, her er et kodebit for det samme:
Series = PD.Serie (['Shubham', 3.7])Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Som tydelig fra eksemplet over, kan en serie inneholde flere datatyper for samme kolonne også.
Boolean filtre i pandas dataaframe
Noe av det gode i pandaer er hvordan det er å hente ut data fra en dataframme basert på en tilstand. Som å trekke ut studenter bare når rullenummeret er større enn 6:
roll_filter = studenter ['rollno']> 6Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Vel, det er ikke det vi forventet. Selv om utgangen er ganske eksplisitt om hvilke rader tilfredsstilte filteret vi ga, men vi har fremdeles ikke de eksakte radene som tilfredsstilte det filteret. Viser seg det Vi kan bruke filtre som dataframindekser også:
Studenter [roll_filter]Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Det er mulig å bruke flere forhold i et filter slik at dataene kan filtreres på ett kortfattet filter, som:
next_filter = (studenter ['rollno']> 6) & (studenter ['name']> 's')Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Beregne median
I en dataaframe kan vi også beregne mange matematiske funksjoner. Vi vil gi et godt eksempel på beregning av median. Medianen vil bli beregnet for en dato, ikke for bare tall. La oss se på et kort kodebit for det samme:
datoer = studenter ['Dato for opptak'].astype ('DateTime64 [ns]').kvantil (.5)Når vi har kjørt ovennevnte kodebit, vil vi se følgende utdata:
Vi oppnådde dette ved først å indeksere datakolonnen vi har, og deretter gi en datatype til kolonnen slik at pandaer kan utlede den riktig når den bruker kvantitetsfunksjonen for å beregne median dato.
I denne leksjonen så vi på forskjellige aspekter ved Pandas Processing Library som vi kan bruke med Python for å samle inn data fra forskjellige kilder til en dataframdatastruktur som lar oss sofistikerte operere på et datasett. Det lar oss også få underlaget data vi ønsker å jobbe med øyeblikkelig og gir mange matematiske operasjoner.
Del tilbakemeldingene dine på leksjonen på Twitter med @SBMaggarwal og @linuxhint.