pandaer

Pandas Tutorial i Python

Pandas Tutorial i Python
I denne lektion om Python Pandas-biblioteket vil vi se på forskellige datastrukturer, som denne Python-pakke giver hurtige databehandlingsfunktioner, der er effektive til dynamiske data og styring af komplekse operationer over multidimensionelle data. I denne lektion vil vi hovedsageligt dække:

Dette ligner meget at dække. Lad os komme i gang nu.

Hvad er Python Pandas-pakke?

Ifølge Pandas hjemmeside: pandas er en open source, BSD-licenseret bibliotek, der leverer højtydende, brugervenlige datastrukturer og dataanalyseværktøjer til Python-programmeringssprog.

En af de sejeste ting ved Pandas er, at det gør læsning af data fra almindelige dataformater som CSV, SQL osv. meget let, hvilket gør det lige så anvendeligt i produktionskvalitet applikationer eller bare nogle demo applikationer.

Installer Python Pandas

Bare en note, før vi starter installationsprocessen, bruger vi et virtuelt miljø til denne lektion, som vi lavede med følgende kommando:

python-m virtualenv-pandaer
kilde pandaer / bin / aktivere

Når det virtuelle miljø er aktivt, kan vi installere pandabiblioteket i den virtuelle env, så eksempler, vi opretter næste, kan udføres:

pip installere pandaer

Eller vi kan bruge Conda til at installere denne pakke med følgende kommando:

conda installere pandaer

Vi ser noget som dette, når vi udfører ovenstående kommando:

Når installationen er gennemført med Conda, kan vi bruge pakken i vores Python-scripts som:

importer pandaer som pd

Lad os begynde at bruge Pandaer i vores scripts nu.

Læsning af CSV-fil med Pandas DataFrames

Det er nemt at læse en CSV-fil med Pandas. Til demonstration har vi konstrueret en lille CSV-fil med følgende indhold:

Navn, RollNo, Adgangsdato, 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

Gem denne fil i samme bibliotek som i Python-scriptet. Når filen er til stede, skal du tilføje følgende kodestykke i en Python-fil:

importer pandaer som pd
studerende = pd.read_csv ("studerende.csv ")
studerende.hoved()

Når vi kører ovenstående kodestykke, ser vi følgende output:

Head () -funktionen i Pandaer kan bruges til at vise en stikprøve af data, der findes i DataFrame. Vent, DataFrame? Vi vil studere meget mere om DataFrame i det næste afsnit, men forstå bare, at en DataFrame er en n-dimensionel datastruktur, som kan bruges til at holde og analysere eller komplekse operationer over et datasæt.

Vi kan også se, hvor mange rækker og kolonner de aktuelle data har:

studerende.form

Når vi kører ovenstående kodestykke, ser vi følgende output:

Bemærk, at Pandas også tæller antallet af rækker startende fra 0.

Det er muligt bare at få en kolonne på en liste med Pandas. Dette kan gøres ved hjælp af indeksering i Pandaer. Lad os se på et kort kodestykke for det samme:

student_names = studerende ['Navn']
student_navne

Når vi kører ovenstående kodestykke, ser vi følgende output:

Men det ligner ikke en liste, gør det? Nå skal vi eksplicit kalde en funktion for at konvertere dette objekt til en liste:

student_navne = student_navne.tolist ()
student_navne

Når vi kører ovenstående kodestykke, ser vi følgende output:

Bare for ekstra information kan vi sikre os, at hvert element på listen er unikt, og vi vælger kun ikke-tomme elementer ved at tilføje nogle enkle kontroller som:

student_names = studerende ['Navn'].dropna ().enestående().tolist ()

I vores tilfælde ændres output ikke, da listen allerede ikke indeholder nogen fejlværdier.

Vi kan også oprette en DataFrame med rådata og videregive kolonnenavne sammen med den, som vist i følgende kodestykke:

my_data = pd.DataFrame (
[
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
],
kolonner = ["Rang", "Efternavn"]
)
mine_data

Når vi kører ovenstående kodestykke, ser vi følgende output:

Udskæring af DataFrames

At nedbryde DataFrames for kun at udtrække de valgte rækker og kolonner er en vigtig funktionalitet for at holde opmærksom på de krævede dele af data, som vi har brug for. Til dette tillader Pandas os at skære DataFrame efter behov med udsagn som:

I det forrige afsnit har vi allerede set indeksering og udskæring med kolonnenavne i stedet for indekserne. Det er også muligt at blande udskæring med indeksnumre og kolonnenavne. Lad os se på et simpelt kodestykke:

studerende.loc [: 5, 'Navn']

Når vi kører ovenstående kodestykke, ser vi følgende output:

Det er muligt at specificere mere end en kolonne:

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

Når vi kører ovenstående kodestykke, ser vi følgende output:

Seriestatastruktur i pandaer

Ligesom pandaer (som er en flerdimensionel datastruktur), er en serie en endimensionel datastruktur i pandaer. Når vi henter en enkelt kolonne fra en DataFrame, arbejder vi faktisk med en serie:

type (studerende ["Navn"])

Når vi kører ovenstående kodestykke, ser vi følgende output:

Vi kan også konstruere vores egen serie, her er et kodestykke til det samme:

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

Når vi kører ovenstående kodestykke, ser vi følgende output:

Som det fremgår af eksemplet ovenfor, kan en serie også indeholde flere datatyper for den samme kolonne.

Boolske filtre i Pandas DataFrame

En af de gode ting i Pandas er, hvordan det er at udtrække data fra en DataFrame baseret på en tilstand. Ligesom kun at udvinde studerende, når der er et nummer på mere end 6:

roll_filter = studerende ['RollNo']> 6
roll_filter

Når vi kører ovenstående kodestykke, ser vi følgende output:

Nå, det var ikke, hvad vi forventede. Selvom output er ganske eksplicit om, hvilke rækker der opfyldte det filter, vi leverede, men vi stadig ikke har de nøjagtige rækker, der tilfredsstillede det filter. Det viser sig vi kan bruge filtre som DataFrame-indekser såvel:

studerende [roll_filter]

Når vi kører ovenstående kodestykke, ser vi følgende output:

Det er muligt at bruge flere betingelser i et filter, så dataene kan filtreres på et kortfattet filter, som:

næste_filter = (studerende ['RollNo']> 6) & (studerende ['Navn']> 'S')
studerende [næste_filter]

Når vi kører ovenstående kodestykke, ser vi følgende output:

Beregning af median

I en DataFrame kan vi også beregne mange matematiske funktioner. Vi giver et godt eksempel på beregning af medianen. Medianen beregnes for en dato, ikke kun for tal. Lad os se på et kort kodestykke for det samme:

datoer = studerende ['Dato for optagelse'].astype ('datetime64 [ns]').kvantil (.5)
datoer

Når vi kører ovenstående kodestykke, ser vi følgende output:

Vi opnåede dette ved først at indeksere den datokolonne, vi har, og derefter give en datatype til kolonnen, så Pandas kan udlede den korrekt, når kvantilfunktionen anvendes til at beregne mediandatoen.

Konklusion

I denne lektion kiggede vi på forskellige aspekter af Pandas-behandlingsbiblioteket, som vi kan bruge sammen med Python til at indsamle data fra forskellige kilder til en DataFrame-datastruktur, der giver os mulighed for sofistikeret at arbejde på et datasæt. Det giver os også mulighed for at få et undersæt af data, vi vil arbejde med et øjeblik, og giver mange matematiske operationer.

Del din feedback på lektionen på Twitter med @sbmaggarwal og @LinuxHint.

Mus Top 5 ergonomiske computermusprodukter til Linux
Top 5 ergonomiske computermusprodukter til Linux
Forårsager langvarig brug af computeren smerter i dit håndled eller fingre? Lider du af stive led og er konstant nødt til at ryste hænderne? Føler du ...
Mus Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
Sådan ændres mus og touchpad-indstillinger ved hjælp af Xinput i Linux
De fleste Linux-distributioner leveres som standard med "libinput" -biblioteket til at håndtere inputhændelser på et system. Det kan behandle inputhæn...
Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...