Pandas -seriefilter

Pandas -seriefilter

En Pandas-serie er en endimensjonal matrise som har indeksetiketter og verdier. Vi kan filtrere en Pandas -serie for spesifiserte forhold når det er nødvendig. For å filtrere serien, skal vi bruke to teknikker som er “Series.filter () ”og“ Series.loc [] ”.

Syntaksen for “Series.filter () ”-metode er:

For å bruke "loc []" -egenskapen, må syntaksen nedenfor følges:

Eksempel 1: Bruke filter () -metoden for å filtrere en Pandas -serie

I denne illustrasjonen vil vi bruke Pandas -serien.Filter () ”-metode for å filtrere en Pandas -serie.

Spyder -verktøyet lanseres for å lage eksempler på koder. Det grunnleggende kravet for å bygge programmet er lasting av de nødvendige bibliotekene. I dette tilfellet trenger vi bare en enkelt pakke som kalles "Pandas". For å introdusere dette biblioteket i Python-filen vår, har vi brukt et enkeltlinjeskript “Importer Pandas som PD”. Dette skriptet har to deler: "Importer Pandas" vil laste inn Pandas verktøysett i programfilen vår og "som PD" -delen av skriptet laget "PD" som skal brukes som aliaset til "Pandas" i Python -programmet.

Neste linje påkalte “PD.Serie () ”-metode. "PD" refererer til pandaer, mens "serien" refererer til initialiseringen av serien konstruksjonsprosedyre. Vi benyttet denne metoden og spesifiserte noen heltallverdier i den for å lage en serie med disse verdiene. Verdiene vi har gitt er “23”, “34”, “56”, “39”, “78”, “61”, “36”, “92”, “54” og “11”. Vi har satt inn 10 verdier i “PD.Serie () ”-metode.

Bortsett fra å spesifisere utvalget av verdier, brukte vi “Navnet”. "Navn" -argumentet angir etiketten for denne rekke verdier. Derfor har vi spesifisert en etikett for dette som "heltall". “PS.Serie () ”-funksjonen vil konstruere en serie, men den vil ikke kunne beholde denne serien. Neste gang vi påkaller denne metoden i det aktuelle programmet, vil den miste den tidligere opprettede serien. For å få denne for øyeblikket genererte serien, opprettes et serieobjekt og kalt "Info" og tilordnet resultatet generert fra å utøve “PD.Serie () ”-metode. Serien vår vil bli lagret i serieobjektet “Info” og kan nås etterpå ved å nevne dette objektnavnet hvor som helst i programmet.

Serien vil bli generert med de spesifiserte verdiene og standardindekslisten. Men vi vil ikke bruke standardsekvenslisten. I stedet må vi plassere en brukerdefinert indeksliste. For dette har vi laget en variabel “fugler” og initialisert den med disse verdiene “Pigeon”, “Parrot”, “Sparrow”, “Pea_cock”, “Crow”, “Owl”, “King_fisher”, “Swan”, “ Dove ”, og“ Wood_pecker ”. Antall verdier må være lik antallet verdier for serien som er 10 fordi disse verdiene vil bli satt som indeksliste.

For å konvertere denne listen over verdier til indekslisten, har vi benyttet "serien.indeks ”eiendom. Her er seriens navn “Info” nevnt med “.indeks ”eiendom. Deretter tildelt den verdiene som "fuglene" -variabelen holder. Egenskapen "indeks" vil ta verdiene og sette dem som indeksliste for serien i stedet for en sekvensiell liste over indeksen. Vi har laget en serie, angitt navn og indeksliste. Nå vil vi se det på utgangsvinduet. Dette kan gjøres ved å bruke Python -funksjonen “Print ()”. Vi ga serien vår "info" som en innspill for å skrive ut innholdet.

Bare treff "Shift+Enter" -tastene sammen for å kjøre programmet. Dette vil vise utgangsserien med de oppgitte verdiene og spesifiserte indekslisten på Python -konsollen.

Nå filtrerer vi denne serien ved å bruke "serien.filter () ”-funksjon. Mellom parentesene til metoden vil vi definere en liste over verdier som skal filtreres ut av serien.

Seriene.filter () ”-metoden påkalles. Vi må oppgi seriens navn i stedet for ordet "Series". Vi skrev det som “Info.filter()". Vi har brukt metoden på serien. La oss anta at vi ønsker å søke i en liste over indeksetiketter, slik at vi identifiserer disse indeksetikettene i denne funksjonen. For å identifisere indeksetikettene, har vi brukt argumentet “elementer”. Denne "elementet" -parameteren vil ta verdiene å filtrere fra serien. Vi har tildelt det to indeksetiketter “Crow” og “Swan”. Fra "Info" -serien vil den søke etter disse to indeksetikettene, og hvis den blir funnet, vil den trekke dem ut med deres tilsvarende verdier. Deretter, for å lagre den filtrerte utgangen, har vi variabelen "alfa". "Print ()" -funksjonen vil vise utfallet på terminalen.

På bildet vedlagt nedenfor kan vi se at to poster er blitt utsatt for de spesifiserte indeksetikettene.

Nå vil vi bruke den samme metoden for å filtrere indeksetikettene som har et spesifikt regelmessig uttrykk.

For dette påkalte vi “serien.filter () ”-metode. Og innenfor seler brukes parameteren "regex". Dette vil ta inn et uttrykk for å filtrere indeksetikettene som inneholder det. Uttrykket vi har spesifisert for å søke er “_” (understreker) for å finne ut indeksetikettene som har dette uttrykket i seg. Resultatet vil bli lagret i "Beta" -variabelen og utstilt med "print ()" -metoden.

Den filtrerte serien viser tre poster hvis indeksetiketter hadde uttrykket “_” i seg.

Eksempel nr. 2: Bruke LOC () -egenskapen til å filtrere en Pandas -serie

En annen metode for å filtrere en Pandas -serie etter verdi er "-serien.loc [] ”eiendom. Vi vil spesifisere en betingelse i "-serien.Loc [] ”-egenskaper for å hente ut posten som spesifiserer den definerte tilstanden.

Vi har først importert Pandas -biblioteket og deretter ansatt "PD. Serie () ”-funksjon for å generere en serie med disse verdiene“ 1 ”,“ 25 ”,“ 93 ”,“ 44 ”,“ 51 ”,“ 6 ”,“ 72 ”,“ 18 ”,“ 99 ”,“ 12 ”,“ 64 ”,“ 44 ”,“ 16 ”,“ 77 ”,“ 19 ”,“ 44 ”og“ 22 ”. Den resulterende serien er lagret i "Y" -serieobjektet. For å presentere den på skjermen, har vi gitt dette objektet til metoden “Print ()”.

Dette gir oss følgende serier som output:

Vi har påberopt "serien.loc [] ”-egenskaper og spesifiserte en betingelse i den ved hjelp av“ lambda ”-funksjonen. Tilstanden vi har definert er for enhver verdi i serien å sjekke om verdien er lik “44”. Deretter lagrer du det genererte utfallet i "cond" -variabelen og viser den ved hjelp av "print ()" -funksjonen.

Resultatet viser 3 poster ved indeks “3”, “11” og “15” som har en verdi lik 44.

For demonstrasjonen vil vi bruke en "eller" tilstand med "loc []" -egenskapen.

Mellom parentesene i eiendommen “serie.Loc [] ”, vi har brukt“ lambda ”-funksjonen for å spesifisere tilstanden som sier for å trekke ut verdier som er mindre enn 30. Eller verdiene som er større enn 50, der "x" er noen verdi i "y" -serien. Variabelen “Z” vil beholde utgangen.

Her er utdataene som er gjengitt i øyeblikksbildet nedenfor som bare viser de verdiene som oppfylte den definerte tilstanden.

Konklusjon

I denne artikkelen har vi utdypet konseptet med å filtrere en Pandas -serie med spesielle forhold. Vi har forklart to metoder for å gjøre dette: “Series.filter () ”og" serien.loc [] ”eiendom. Den første illustrasjonen forklarte “serien.Filter () ”-funksjon for å filtrere indeksetikettene i en Pandas -serie ved å tilby indeksetikettene og også ved å bruke det vanlige uttrykket som er til stede i indeksetikettene. De 2nd forekomst jobbet med å bruke “serien.loc [] ”egenskap til søkeverdier i serien som oppfyller den spesielle betingelsen.