pandaer

Pandas opplæring i Python

Pandas opplæring i Python
I denne leksjonen om Python Pandas-biblioteket vil vi se på forskjellige datastrukturer som denne Python-pakken gir rask databehandlingsfunksjonalitet som er effektiv for dynamiske data og administrerer komplekse operasjoner over flerdimensjonale data. I denne leksjonen vil vi hovedsakelig dekke:

Dette ser ut som mye å dekke. La oss komme i gang nå.

Hva er Python Pandas-pakke?

I følge Pandas hjemmeside: pandas er en åpen kildekode, BSD-lisensiert bibliotek som gir høy ytelse, brukervennlige datastrukturer og dataanalyseverktøy for Python programmeringsspråk.

En av de kuleste tingene med Pandas er at det gjør lesing av data fra vanlige dataformater som CSV, SQL osv. veldig enkelt, noe som gjør den like brukbar i applikasjoner med produksjonsgrad 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-pandaer
kilde pandaer / søppel / aktivere

Når det virtuelle miljøet er aktivt, kan vi installere pandabiblioteket i det virtuelle miljøet slik at eksempler vi oppretter neste kan utføres:

pip installere pandaer

Eller vi kan bruke Conda til å installere denne pakken med følgende kommando:

conda installere pandaer

Vi ser noe slikt når vi utfører kommandoen ovenfor:

Når installasjonen er fullført med Conda, vil vi kunne bruke pakken i våre Python-skript som:

importer pandaer som pd

La oss begynne å bruke Pandaer i skriptene våre nå.

Lese CSV-fil med Pandas DataFrames

Det er enkelt å lese en CSV-fil med Pandas. For demonstrasjon har vi konstruert en liten CSV-fil med følgende innhold:

Navn, RollNo, dato for opptak, nødkontakt
Shubham, 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

Lagre denne filen i samme katalog som i Python-skriptet. Når filen er tilstede, legger du til følgende kodebit i en Python-fil:

importer pandaer som pd
studenter = pd.read_csv ("studenter.csv ")
studenter.hode()

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Head () -funksjonen i Pandas kan brukes til å vise et utvalg av data som er tilstede 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 datasett.

Vi kan også se hvor mange rader og kolonner som gjeldende data har:

studenter.form

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Merk at Pandas også teller antall rader som starter fra 0.

Det er mulig å få bare kolonne i en liste med Pandas. Dette kan gjøres ved hjelp av indeksering i Pandas. La oss se på en kort kodebit for det samme:

student_names = studenter ['Navn']
studentnavn

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Men det ser ikke ut som en liste, gjør det? Vi må kalle en funksjon eksplisitt for å konvertere dette objektet til en liste:

studentnavn = studentnavn.å liste opp()
studentnavn

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Bare for ekstra informasjon kan vi sørge for at hvert element i listen er unikt, og vi velger bare ikke-tomme elementer ved å legge til noen enkle kontroller som:

student_names = studenter ['Navn'].dropna ().unik().å liste opp()

I vårt tilfelle vil ikke utgangen endres ettersom listen allerede ikke inneholder noen feilverdier.

Vi kan også lage en DataFrame med rådata og sende kolonnenavnene sammen med den, som vist i følgende kodebit:

my_data = pd.Dataramme(
[
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
],
kolonner = ["Rangering", "Etternavn"]
)
my_data

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Slicing DataFrames

Å bryte ned DataFrames for å trekke ut bare de valgte radene og kolonnene er en viktig funksjonalitet for å holde oppmerksomheten mot nødvendige deler av data som vi trenger å bruke. For dette tillater Pandas oss å kutte DataFrame etter behov med utsagn som:

I forrige avsnitt har vi allerede sett indeksering og kutting med kolonnenavn i stedet for indeksene. Det er også mulig å blande kutting med indeksnummer og kolonnenavn. La oss se på en enkel kodebit:

studenter.loc [: 5, 'Name']

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Det er mulig å spesifisere mer enn en kolonne:

studenter.loc [: 5, ['Name', 'Emergency Contact']]

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Seriedatastruktur i pandaer

Akkurat som Pandaer (som er en flerdimensjonal datastruktur), er en serie en endimensjonell 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 kjører kodebiten ovenfor, ser vi følgende utdata:

Vi kan også lage vår egen serie, her er en kodebit for det samme:

serie = pd.Serie (['Shubham', 3.7])
serie

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Som det fremgår av eksemplet ovenfor, kan en serie også inneholde flere datatyper for samme kolonne.

Boolske filtre i Pandas DataFrame

En av de gode tingene i Pandas er hvordan det er å hente ut data fra en DataFrame basert på en tilstand. Som å trekke ut studenter bare når rolletallet er større enn 6:

roll_filter = studenter ['RollNo']> 6
rullfilter

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Vel, det er ikke det vi forventet. Selv om utgangen er ganske eksplisitt om hvilke rader som tilfredsstilte filteret vi ga, men vi har fortsatt ikke de nøyaktige radene som tilfredsstilte filteret. Det viser seg vi kan bruke filtre som DataFrame-indekser også:

studenter [roll_filter]

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Det er mulig å bruke flere forhold i et filter slik at dataene kan filtreres på et kortfattet filter, som:

next_filter = (students ['RollNo']> 6) & (students ['Name']> 'S')
studenter [neste_filter]

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Beregning av median

I en DataFrame kan vi også beregne mange matematiske funksjoner. Vi vil gi et godt eksempel på beregning av medianen. Medianen beregnes for en dato, ikke bare for tall. La oss se på en kort kodebit for det samme:

dates = students ['Dato for opptak'].astype ('datetime64 [ns]').kvantil (.5)
datoer

Når vi kjører kodebiten ovenfor, ser vi følgende utdata:

Vi oppnådde dette ved først å indeksere datokolonnen vi har og deretter gi en datatype til kolonnen slik at Pandas kan utlede den riktig når den bruker kvantilfunksjonen for å beregne mediandatoen.

Konklusjon

I denne leksjonen så vi på ulike aspekter av Pandas-behandlingsbiblioteket som vi kan bruke sammen med Python for å samle inn data fra forskjellige kilder til en DataFrame-datastruktur som gjør det mulig for oss å sofistikere operere på et datasett. Det lar oss også få delmengder av data vi vil jobbe med øyeblikkelig og gir mange matematiske operasjoner.

Del din tilbakemelding på leksjonen på Twitter med @sbmaggarwal og @LinuxHint.

Mus Hvordan endre venstre og høyre museknapp på Windows 10 PC
Hvordan endre venstre og høyre museknapp på Windows 10 PC
Det er ganske vanlig at alle datamusenheter er ergonomisk designet for høyrehendte brukere. Men det er tilgjengelige musenheter som er spesielt design...
Mus Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Bruk av mus eller tastatur i feil stilling for overdreven bruk kan føre til mange helseproblemer, inkludert belastning, karpaltunnelsyndrom og mer. I ...
Mus Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
Legg til musebevegelser i Windows 10 ved hjelp av disse gratisverktøyene
De siste årene har datamaskiner og operativsystemer utviklet seg sterkt. Det var en tid da brukere måtte bruke kommandoer for å navigere gjennom filad...