Kumulative produktpandaer

Kumulative produktpandaer
Python er et brukervennlig programmeringsspråk på høyt nivå ansett som best for å utføre dataanalyse. Hovedårsaken til dette er at Python gir et stort økosystem av datasentriske pakker som pandaer. Pandaene i Python gjør det enkelt å importere og analysere dataene.

En av pandas funksjoner er serier.cumprod (). Denne metoden brukes til å beregne det kumulative produktet fra en serie. I denne artikkelen vil vi forklare hvordan du beregner det kumulative produktet ved hjelp av Pandas bibliotek i Python.

Hva er et kumulativt produkt?

Et kumulativt produkt er et iterativt produkt av hvert element i en matrise. En gitt sekvens multipliseres iterativt med hvert element i den sekvensen. Hver resulterende verdi er summen av matrisens nåværende og tidligere verdier. For eksempel har vi en sekvens på 3 elementer [x, y, z], og det kumulative produktet vil være [x, xy, xyz].

Pandaene i Python gir et par funksjoner for å beregne det kumulative produktet fra en serie. Cumprod () er en av disse funksjonene som ofte brukes til å finne det kumulative produktet fra en serie i Python. En dataaframe eller serie elementer levert til cumprod () -funksjonen beregner det kumulative produktet og returnerer samme størrelse på DataFrame eller serier som inneholder det kumulative produktet.

Hva er syntaksen til serien.Cumprod () -metoden?

Her er syntaksen til serien.Cumprod () Metode:

Seriene.Cumprod () tar to parametere; Axis og Skipna. Verdien for aksen er enten 0 eller 1; eller det er enten indeks eller kolonne, 0 og indeks, begge representerer radmessig operasjon, mens 1 og kolonnen begge representerer kolonnemessig operasjon. Videre er Skipna -verdien en boolsk verdi (sann eller falsk). Det brukes til å hoppe over NA -verdiene i en dataaframe. Seriene.Cumprod () returnerer samme størrelse på serien som inngangen.

La oss nå fortsette med eksemplene for å se hvordan vi kan implementere Cumprod () -funksjonen i Python.

Eksempel 1

I dette eksemplet vil vi lage en liten serie med tall som også inneholder en NA -verdi. NA -verdien holdes i serien for å se hvordan cumprod () reagerer på den. Dessuten er det ikke gitt noen verdi for Skipna -parameteren, noe som får cumprod () til å bruke standard Skipna -verdien True. Se koden nedenfor.

Som tidligere diskutert, er det kumulative produktet et produkt av gjeldende verdi og alle de tidligere verdiene i matrisen. Det første elementet i den originale matrisen er alltid lik det første kumulative produktet. Den andre verdien er produktet av den første og andre verdien, 2 * 3 = 6, og den tredje verdien er produktet av de tre første verdiene, 2 * 3 * 5 = 30.

Nå, hvis den fjerde verdien er NAN, var Skipna sann, noe som fikk cumprod () til å hoppe over NA -verdien og gå videre, og returnerer NA for gjeldende verdi. Den samme prosessen med det kumulative produktet følges for resten av verdiene i matrisen.

Importer pandaer som PD
Importer numpy som NP
num = [2, 3, 5, np.Nan, 7, 9, 1, 0]
S = PD.Serie (num)
cumprod = s.cumprod ()
Print (Cumprod)

Se følgende utgang for å kjenne det kumulative produktet av hver verdi i matrisen:

Eksempel 2

I forrige eksempel har vi ikke gitt verdien for at Skipna holder Skipna sann som standard. Nå vil vi gi usant for Skipna slik at cumprod () ikke hopper over NA, og vi kan se hva som vil skje i så fall.

Ved å gi den falske verdien for Skipna, tvinger vi cumprod () til å merke NA -verdien når som helst og sammenligne den hver gang ved sin forekomst. Se følgende kode for å lære hvordan du gir en falsk verdi for Skipna -parameteren:

Importer pandaer som PD
Importer numpy som NP
num = [2, 3, 5, np.Nan, 7, 9, 1, 0]
S = PD.Serie (num)
cumprod = s.cumprod (skipna = falsk)
Print (Cumprod)

Her er utdataene fra den forrige koden:

Merk at de fire første verdiene er de samme som forrige eksempel. Imidlertid blir den femte verdien NA som vi hadde gitt Skipna = falsk, noe som betyr at NA ikke blir ignorert og sammenlignet når det skjedde på listen. Dermed gjør alle de gjenværende verdiene NA.

Eksempel 3

Vi har sett det kumulative produktet av et enkelt utvalg i de forrige eksemplene. La oss se på hvordan vi kan beregne en matrise kumulative produkt avhengig av aksen. Dette eksemplet vil gi to kolonner i en matrise og finne deres kumulative produkt. Her er koden for det:

Importer numpy som NP
arr = np.Array ([[1, 3, 5, 7], [2, 4, 6, 8]])
Print ("Inngangsarrayen er =", ARR)
res = np.Cumprod (ARR)
print ("Det kumulative produktet fra inngangsarrayen er =", res)

Merk at den resulterende matrisen er summen av lengden på begge kolonnene, som er 4 + 4 = 8. Se utgangen nedenfor:

Eksempel 4

Nå, vi vet at det er mulig å beregne det kumulative produktet fra en matrise basert på aksen, kan vi bestemme om vi ønsker å beregne det kumulative produktet av all aksen eller bare 1 -aksen på en gang. Se koden nedenfor for å vite hvordan vi kan oppnå dette.

Som du kan observere, har vi bare gitt den ekstra akseparameteren til Cumprod () -funksjonen. Verdien for Axis -parameteren er 1, noe som betyr å beregne det kumulative produktet av 1 aks. Med enkle ord vil cumprod () ta den første kolonnen, beregne det kumulative produktet og returnere resultatet. Etter det, ta den andre kolonnen, start det nye kumulative produktet, beregne det kumulative produktet til hvert element, og returner resultatet for den andre kolonnen.

Importer numpy som NP
arr = np.Array ([[1, 3, 5, 7], [2, 4, 6, 8]])
Print ("Inngangsarrayen er =", ARR)
res = np.cumprod (arr, akse = 1)
print ("Det kumulative produktet fra inngangsarrayen er =", res)

Her er utgangsbildet:

Konklusjon

Vi dekket det grunnleggende konseptet med å beregne det kumulative produktet i denne artikkelen. Vi har også nevnt retningslinjer for hvordan du beregner det kumulative produktet ved bruk av pandaer i Python. Pandaene i Python gir en cumprod () -funksjon for å beregne det kumulative produktet fra en serie.