Rolling () er en av de mange nyttige funksjonene som tilbys av Pandas Toolkit, som er ekstraordinær i sin evne til å utføre kompliserte beregninger på datasett. For å bruke en bestemt funksjon med et rullende vindu på hele dataene, har vi en metode som "ruller ().søke om()".
Dette kan brukes til DataFrame, så vel som for serien. For å påkalle denne funksjonen, må vi følge denne syntaksen:
Denne artikkelen vil utføre den praktiske utførelsen av denne funksjonen med to teknikker i Python -programmer.
Eksempel nr. 1: Bruker Pandas Rolling ().Bruk () -funksjonen for å beregne medianen til en Pandas DataFrame
For denne illustrasjonen vil vi bruke pandaene “DF.Rulling ().Bruk () ”-metode for å bruke en metode på hele DataFrame med det rullende vinduet. Vi vil direkte flytte til implementeringen av dette konseptet.
Samlingen av Python -programmet gjøres på et verktøy som er kompatibelt med systemet vårt. Det gir det beste Python-støttede miljøet, så vi vil ikke sitte fast i utførelsesprosessen. Den vi har valgt er "Spyder" -verktøyet. Vi vil bruke dette verktøyet for å sette sammen eksempel på eksempelprogrammene i denne opplæringen. Vi har nettopp lansert verktøyet for å jobbe med det, og det vil ta deg rett til arbeidsmiljøet. Vi ville begynne å skrive skriptet på det.
Nå lastes de primære kravene i denne filen. Så vi importerte de to nødvendige modulene Python. Dette er "pandaer" og "numpy". Pandas -biblioteket importeres fordi vi oppretter en dataaframe ved hjelp av dette biblioteket, og “Rolling ().Apply () ”-funksjonen tilhører samme verktøysett. Det andre biblioteket, Numpy, er lastet til en metode; fra det som vil bli brukt til å beregne et matematisk uttrykk. Så begge disse bibliotekene er blitt introdusert i programmet. I tillegg er det satt forkortelser, for eksempel “PD” og “NP”, henholdsvis.
Ved hjelp av en funksjon fra Pandas -biblioteket, må vi konstruere en Pandas DataFrame. Metoden for DataFrame Creation er “PD.Dataramme()". Når vi utøver denne funksjonen, instruerer den Python -programmet til å starte DataFrame -generasjonsprosessen. Dermed påkalte vi “PD.DataFrame () ”-metode og leverte spesifiserte verdier for hver kolonne som måtte legges ved den. Vi ønsker at denne dataaframen skal ha fire kolonner; Derfor kalte vi dem "øst", "vest", "nord" og "sør".
Datatypen for alle kolonnene holdes den samme, som er heltall dtype, og størrelsen på kolonnene er 8. Verdiene som er identifisert for "øst" -kolonnen er "1, 2, 3, 4, 5, 6, 7 og 8". “Vesten” har verdier “0, 1, 2, 3, 4, 5, 6 og 7”. Dataene som er lagret i kolonnen “Nord” er “9, 8, 7, 6, 5, 4, 3 og 2”. Og den siste kolonnen, “Sør”, har verdiene “3, 5, 7, 9, 6, 4, 2 og 8”. Et DataFrame -objekt, "Veibeskrivelse", er konstruert for å holde denne DataFrame, slik at det kan gjøres tilgjengelig for å brukes senere.
Vi må sette denne DataFrame på utsikten. Dette kan gjøres ved hjelp av Python -funksjonen “Print ()”. Denne metoden tar alle typer innganger, enten det er en streng, funksjon, objekt, variabel eller noe uttrykk, og bare legger resultatet på skjermen. Så vi ga "Direction" DataFrame -objektet for å skrive ut det.
Dette er den resulterende DataFrame som vi konstruerte ved å utføre det forrige kodebiten.
Nå for å beregne “Rulling ().Apply () ”på denne dataaframmen har vi definert en funksjon. "DEF" er nøkkelordet som definerer en funksjon. Funksjonen vi har opprettet er "ApplyRolling ():". Innenfor denne metoden er en annen funksjon definert, som er "median_estimation (i):". Du har kanskje observert at vi har skrevet: "Jeg" mellom seler i denne funksjonen. Denne "jeg" brukes til iterasjonene fordi "median_estimation ()" -funksjonen vil fungere iterativt på alle verdier i DataFrame. Nå, hva vil den utføre med hver iterasjon? I den følgende linjen har vi spesifisert den for å returnere oss en utdata fra “NP.median (i) ”-funksjon.
Som navnet identifiserer seg, er det Numpys funksjon som vil beregne median iterativt for alle verdier. Hver verdi vil bli erstattet av “jeg”; Medianen vil bli estimert for den aktuelle verdien og returnerer resultatet. Påkall deretter “DF.Rulling ().Bruk () ”-metode. Navnet på DataFrame er nevnt som "Veibeskrivelse", "Rolling ()" -funksjonen er satt til å finne det rullende vinduet for tre observasjoner, og "Apply ()" -funksjonen utøves med "Median_estimation" -funksjonen ". Utgangen vil bli oppbevart i variabelen "utfall". Og så returnerte vi denne variabelen "utfallet" til hovedfunksjonen.
Så denne prosessen kan oppsummeres når "ApplyRolling ()" -funksjonen starter og ber "Median_estimation ()" -funksjonen for å beregne median iterativt. Så kommer det inn i DataFrame, beregner det rullende vinduet, bruker medianmetoden for å generere utgangen, og den går ut av hovedfunksjonen. Og "print ()" vil utvise resultatet fra "ApplyRolling ()" -funksjonen.
Her kan vi se at de tre første oppføringene har NAN -verdier fordi vi har spesifisert for å estimere det rullende vinduet for tre observasjoner siden de ikke har flere oppføringer over dem for å fullføre vinduet, så de blir tomme tomme. Fra den fjerde oppføringen ble medianen beregnet for det rullende vinduet. Den returnerte datatypen til denne dataaframmen er float.
Eksempel nr. 2: Bruker pandas rulling.Bruk () -funksjonen for å beregne summen av en Pandas -serie
Den andre teknikken for å bruke denne metoden er å utøve den på Pandas -serien denne gangen.
Vi importerte først Pandas -biblioteket til Python -miljøet vårt og gjorde "PD" til dets alias som skal brukes gjennom hele programmet. Så påkalte vi “PD.Serie () ”-funksjon fra Pandas verktøysett for å lage en Pandas -serie. "PD" er Pandas 'forkortelse definert ovenfor, og "serien" er nøkkelordet for å bygge en serie. Vi har spesifisert en rekke verdier for denne funksjonen. Verdiene er “11, 12, 13, 14, 15, 3, 7, 17, 9, 1, 21, 24 og 2”. For å bevare denne serien har vi et serieobjekt, “Random”. Dette "tilfeldige" objektet holder nå serien vår, så vi ga den til "print ()" -metoden for å presentere innholdet på terminalen.
Når vi trykker på alternativet "Run File", blir koden vår utført. I det følgende øyeblikksbildet kan du se den for øyeblikket genererte serien.
Etter å ha skrevet ut serien, har vi definert en funksjon “Series_ra ()”. Nå vil hovedberegningene bli utført i denne funksjonen. Innenfor denne funksjonen har vi definert en annen funksjon som er "Compute_sum (J)". Du kan gjette på etiketten at den vil få summen. "J" her forteller det å utføre denne funksjonen iterativt. Hver iterasjon vil flytte inn og utføre "Sum (J)" -funksjonen. Og returner deretter den beregnede summen for hver verdi.
Så "serien.Rulling ().Apply () ”-metoden kalles innenfor" Compute_sum () "-funksjonen. Det vil estimere Find Rolling -vinduet for fem observasjoner og deretter beregne summen ved hjelp av “Apply ()” -metoden. Utgangen vil bli bevart i den "resultat" lokal variabel og returnert til hovedfunksjonen. Til slutt har vi passert inndata "Series_ra ()" -funksjonen til "Print ()" -metoden for å se den endelige serien.
Dette er den ultimate serien med en beregnet sum på et rullende vindu med fem observasjoner.
Konklusjon
Det diskuterte emnet for denne artikkelen var basert på de to konseptene til pandaer, som er "Rolling ()" og "Apply ()". Vi har utdypet bruken av denne metoden ved å gi deg en detaljert forklaring av den praktiske implementeringen av “Rolling ().Bruk () ”-funksjon. Denne opplæringen inneholdt to tilnærminger for å bruke denne metoden. Den første forekomsten snakket om å bruke en medianfunksjon fra Numpy Toolkit på det rullende vinduet til en Pandas DataFrame. Mens det andre eksemplet ga oss ideen om å implementere dette konseptet på en Pandas -serie. Så vi brukte denne funksjonen ved å beregne summen på det spesifiserte rullende vinduet i serien. Du kan utøve teknikken som er mer mulig for oppgaven din.