Her er hvorfor Pandas er det mest populære Python-dataanalysebiblioteket

Pandas er det mest populære dataanalysebiblioteket for Python. Det brukes mye av dataanalytikere, dataforskere og maskinlæringsingeniører.

Ved siden av NumPy er det et av bibliotekene og verktøyene du må vite for alle som jobber med data og AI.

I denne artikkelen vil vi utforske pandaer og funksjonene som gjør den så populær i dataøkosystemet.

Hva er pandaer?

Pandas er et dataanalysebibliotek for Python. Dette betyr at den brukes til å jobbe med og manipulere data fra Python-koden din. Med Pandas kan du effektivt lese, manipulere, visualisere, analysere og lagre data.

Navnet «Pandas» kommer fra å slå sammen ordene Panel Data, et økonometrisk begrep som refererer til data hentet fra observasjon av flere individer over tid. Pandas ble opprinnelig utgitt i januar 2008 av Wes Kinney, og det har siden vokst til å bli det mest populære biblioteket for brukssaken.

I hjertet av Pandas er to essensielle datastrukturer som du bør være kjent med, Dataframes og Series. Når du oppretter eller laster et datasett i Pandas, er det representert som en av disse to datastrukturene.

I neste avsnitt vil vi utforske hva de er, hvordan de er forskjellige, og når er det ideelle å bruke en av dem.

Nøkkeldatastrukturer

Som nevnt tidligere, er alle data i Pandas representert ved å bruke enten en av to datastrukturer, en dataramme eller en serie. Disse to datastrukturene er forklart i detalj nedenfor.

Dataramme

Denne eksempeldatarammen ble produsert ved hjelp av kodebiten nederst i denne delen

En dataramme i Pandas er en todimensjonal datastruktur med kolonner og rader. Det ligner på et regneark i regnearkprogrammet ditt eller en tabell i en relasjonsdatabase.

Den består av kolonner, og hver kolonne representerer et attributt eller funksjon i datasettet ditt. Disse kolonnene består da av individuelle verdier. Denne listen eller serien med individuelle verdier er representert som en serieobjekt. Vi vil diskutere seriedatastrukturen mer detaljert senere i denne artikkelen.

Kolonner i en dataramme kan ha beskrivende navn slik at de kan skilles fra hverandre. Disse navnene tildeles når datarammen opprettes eller lastes, men kan enkelt gis nytt navn når som helst.

  6 beste programvare for videooptimering [Free/Paid]

Verdiene i en kolonne må være av samme datatype, selv om kolonner ikke trenger å inneholde data av samme type. Dette betyr at en navnekolonne i et datasett vil lagre utelukkende strenger. Men det samme datasettet kan ha andre kolonner som alder som lagrer ints.

Datarammer har også en indeks som brukes til å referere til rader. Verdier på tvers av forskjellige kolonner, men med samme indeks, danner en rad. Som standard er indekser nummerert, men kan tilordnes på nytt for å passe til datasettet. I eksemplet (bildet over, kodet nedenfor), setter vi indekskolonnen til «måneder»-kolonnen.

import pandas as pd

sales_df = pd.DataFrame({
    'Month': ['January', 'February', 'March'],
    'Jane Doe': [5000, 6000, 5500],
    'John Doe': [4500, 6700, 6000]
})

sales_df.set_index(['Month'], inplace=True)

print(sales_df)

Serie

Denne eksempelserien ble produsert ved å bruke koden nederst i denne delen

Som diskutert tidligere, brukes en serie for å representere en kolonne med data i Pandas. En serie er derfor en endimensjonal datastruktur. Dette er i motsetning til en Dataframe som er todimensjonal.

Selv om en serie ofte brukes som en kolonne i en dataramme, kan den også representere et komplett datasett alene, forutsatt at datasettet bare har ett attributt som registreres i en enkelt kolonne. Eller rettere sagt, datasettet er ganske enkelt en liste over verdier.

Fordi en serie bare er én kolonne, trenger den ikke ha et navn. Imidlertid er verdiene i serien indeksert. I likhet med indeksen til en dataramme, kan datarammen til en serie endres fra standardnummereringen.

I eksemplet (bildet over, kodet nedenfor), er indeksen satt til forskjellige måneder ved å bruke set_axis-metoden til et Pandas Series-objekt.

import pandas as pd

total_sales = pd.Series([9500, 12700, 11500])
months = ['January', 'February', 'March']

total_sales = total_sales.set_axis(months)

print(total_sales)

Egenskaper til pandaer

Nå som du har en god ide om hva Pandas er og nøkkeldatastrukturene den bruker, kan vi begynne å diskutere funksjonene som gjør Pandas til et så kraftig dataanalysebibliotek og som et resultat utrolig populært innen datavitenskap og maskinlæring Økosystemer.

#1. Datamanipulasjon

Dataframe- og Series-objektene kan endres. Du kan legge til eller fjerne kolonner etter behov. I tillegg lar Pandas deg legge til rader og til og med slå sammen datasett.

Du kan utføre numeriske beregninger, for eksempel normalisere data og gjøre logiske sammenligninger elementmessig. Pandas lar deg også gruppere data og bruke aggregerte funksjoner som gjennomsnitt, gjennomsnitt, maks og min. Dette gjør arbeidet med data i Pandas til en lek.

  15 beste plagiatkontrollverktøy for å forhindre kopiering i 2022

#2. Datarensing

Data hentet fra den virkelige verden har ofte verdier som gjør det vanskelig å jobbe med eller ikke ideelt for analyse eller bruk i maskinlæringsmodeller. Dataene kan være av feil datatype, i feil format, eller de kan bare mangle helt. Uansett trenger disse dataene forbehandling, referert til som rengjøring, før de kan brukes.

Pandas har funksjoner som hjelper deg med å rense dataene dine. I Pandas kan du for eksempel slette dupliserte rader, slippe kolonner eller rader med manglende data, og erstatte verdier med enten standardverdier eller en annen verdi, for eksempel gjennomsnittet av kolonnen. Det er flere funksjoner og biblioteker som fungerer med Pandas for å gjøre det mulig for deg å gjøre mer datarensing.

#3. Datavisualisering

Denne grafen er generert med koden under denne delen

Selv om det ikke er et visualiseringsbibliotek som Matplotlib, har Pandas funksjoner for å lage grunnleggende datavisualiseringer. Og selv om de er grunnleggende, får de fortsatt jobben gjort i de fleste tilfeller.

Med Pandas kan du enkelt plotte søylediagrammer, histogrammer, spredningsmatriser og andre forskjellige typer diagrammer. Kombiner det med noen datamanipulasjoner du kan gjøre i Python, og du kan lage enda mer kompliserte visualiseringer for å bedre forstå dataene dine.

import pandas as pd

sales_df = pd.DataFrame({
    'Month': ['January', 'February', 'March'],
    'Jane Doe': [5000, 6000, 5500],
    'John Doe': [4500, 6700, 6000]
})

sales_df.set_index(['Month'], inplace=True)

sales_df.plot.line()

#4. Tidsserieanalyse

Pandas støtter også arbeid med tidsstemplede data. Når Pandas gjenkjenner en kolonne som å ha datetime-verdier, kan du utføre mange operasjoner på samme kolonne som er nyttige når du arbeider med tidsseriedata.

Disse inkluderer gruppering av observasjoner etter tidsperiode og bruk av aggregerte funksjoner på dem, for eksempel sum eller gjennomsnitt eller få de tidligste eller siste observasjonene ved å bruke min og maks. Det er selvfølgelig mange flere ting du kan gjøre med tidsseriedata i Pandas.

#5. Inngang/utgang i pandaer

Pandas er i stand til å lese data fra de vanligste datalagringsformatene. Disse inkluderer JSON, SQL Dumps og CSV-er. Du kan også skrive data til filer i mange av disse formatene.

Denne muligheten til å lese fra og skrive til forskjellige datafilformater lar Pandas sømløst samvirke med andre applikasjoner og bygge datapipelines som integreres godt med Pandas. Dette er en av grunnene til at Pandas er mye brukt av mange utviklere.

  Kickstart din nye podcast med Buzzsprout

#6. Integrasjon med andre biblioteker

Pandas har også et rikt økosystem av verktøy og biblioteker bygget på toppen for å komplementere funksjonaliteten. Dette gjør det til et enda kraftigere og mer nyttig bibliotek.

Verktøy i Pandas økosystem forbedrer funksjonaliteten på tvers av forskjellige områder, inkludert datarensing, visualisering, maskinlæring, input/output og parallellisering. Pandas opprettholder et register over slike verktøy i sin dokumentasjon.

Ytelses- og effektivitetshensyn i pandaer

Mens Pandas skinner i de fleste operasjoner, kan det være notorisk tregt. Den lyse siden er at du kan optimalisere koden din og forbedre hastigheten. For å gjøre dette, må du forstå hvordan Pandas er bygget.

Pandas er bygget på toppen av NumPy, et populært Python-bibliotek for numerisk og vitenskapelig beregning. Derfor, som NumPy, fungerer Pandas mer effektivt når operasjoner vektoriseres i motsetning til å plukke på individuelle celler eller rader ved hjelp av løkker.

Vektorisering er en form for parallellisering der samme operasjon brukes på flere datapunkter samtidig. Dette omtales som SIMD – Single Instruction, Multiple Data. Å dra nytte av vektoriserte operasjoner vil forbedre hastigheten og ytelsen til Pandaer dramatisk.

Fordi de bruker NumPy-matriser under panseret, er DataFrame- og Series-datastrukturene raskere enn deres alternative ordbøker og lister.

Standard Pandas-implementering kjører på bare én CPU-kjerne. En annen måte å øke hastigheten på koden på er å bruke biblioteker som gjør at Pandas kan bruke alle tilgjengelige CPU-kjerner. Disse inkluderer Dask, Vaex, Modin og IPython.

Fellesskap og ressurser

Som et populært bibliotek med det mest populære programmeringsspråket, har Pandas et stort fellesskap av brukere og bidragsytere. Som et resultat er det mange ressurser å bruke for å lære å bruke det. Disse inkluderer den offisielle Pandas-dokumentasjonen. Men det finnes også utallige kurs, opplæringsprogrammer og bøker å lære av.

Det er også nettsamfunn på plattformer som Reddit i r/Python og r/Data Science subreddits for å stille spørsmål og få svar. Som et åpen kildekode-bibliotek kan du rapportere problemer på GitHub og til og med bidra med kode.

Siste ord

Pandas er utrolig nyttig og kraftig som et datavitenskapsbibliotek. I denne artikkelen prøvde jeg å forklare dens popularitet ved å utforske funksjonene som gjør den til det beste verktøyet for dataforskere og programmerere.

Deretter kan du sjekke ut hvordan du lager en Pandas DataFrame.