Kumulativ prosentvis pandaer

Kumulativ prosentvis pandaer
Standard matematikkformel for beregning av den kumulative prosentandelen beregner den kumulative summen for hver verdi i kolonnen og deler den kumulative summen av hver celle i en kolonne med den matematiske summen av alle verdiene i kolonnen og deretter multipliserer den med 100. Spørsmålet nå er hvordan du kan oppnå dette i Python ved hjelp av pandaer.

Denne artikkelen er designet for å få deg til å lære å finne kumulative prosenter i Python ved hjelp av pandaer. La oss starte med den grunnleggende formelen eller syntaksen til kumulativ prosentandel og deretter fortsette videre.

Hva er syntaks for kumulativ prosentandel?

Nedenfor er syntaksen til den kumulative prosentandelen du kan følge.

Kumulativ prosentvis pandaer

Pandas datarammer i Python gir to forhåndsdefinerte funksjoner, sum () og cumsum (), for å beregne den kumulative prosentandelen med Python. Summen () -funksjonen brukes til å beregne summen av alle verdiene i kolonnen, og Cumsum () -funksjonen brukes til å beregne den kumulative summen av hver verdi i kolonnen.

Hvordan fungerer cumsum () -funksjonen for å beregne den kumulative summen i Python?

Cumsum () er en python innebygd Panda-dataramme som brukes til å beregne den kumulative summen av matriseelementer. Det tar en matrise som inngang og beregner en sekvens av delvise summer eller med andre ord en løpende total. Hovedformålet med å beregne en kumulativ sum er å oppdatere summen av et datasett hver gang en ny verdi legges til datasettet.

Det er fem trinn du må følge for å beregne den kumulative summen med pandaer i Python, og her er de:

  1. Opprett en dataramme eller gi en rekke data du vil beregne den kumulative prosentandelen.
  2. Beregn den kumulative summen med den innebygde Cumsum () -funksjonen.
  3. Beregn summen av matrisen med den innebygde summen () -funksjonen.
  4. Del den beregnede cumsum () -verdien med den beregnede summen () verdien.
  5. Multipliser hver beregnet verdi med 100, og den resulterende verdien vil være den kumulerte prosentandelen av en bestemt verdi i matrisen.

La oss nå se noen eksempler for å forstå hvordan cumsum () og sum () fungerer for å beregne kolonnens kumulative prosentandel med en Pandas dataramme i Python.

Eksempel 1:
I det første eksemplet vil vi begynne å beregne den kumulative summen av bare en kolonne, slik at du enkelt kan forstå funksjonen. Først oppretter du en dataramme som 'Data_Frame' og gir verdiene du trenger for å beregne den kumulative summen, og deretter passere parameteren 'Data_Frame' til PD.DataFrame () mens du spesifiserer kolonneverdiene, og til slutt, bruk cumsum () og sum () innebygde funksjoner for å beregne den kumulative prosentandelen.

Importer pandaer som PD
Importer numpy som NP
data_frame =
'Navn': ['AB', 'BC', 'CD', 'de', 'EF', 'FG', 'GH'],
'MathScore': [152.187.149.174.128.159.148]
data_frame = pd.DataFrame (Data_Frame, Columns = ['Name', 'MathScore'])
data_frame ['cum_per'] = 100*(data_frame.MathScore.cumsum () / data_frame.MathScore.sum())
Dataramme

Her er utdataene fra ovennevnte kode:

Eksempel 2:
I dette eksemplet vil vi vise deg den kumulative summen på hvert trinn. Koden er nøyaktig den samme som eksemplet ovenfor, med noen mindre modifikasjoner for å skrive ut den kumulative summen på hvert trinn. Se prøvekoden gitt nedenfor:

Importer pandaer som PD
Importer numpy som NP
data_frame =
'Navn': ['AB', 'BC', 'CD', 'de', 'EF', 'FG', 'GH'],
'MathScore': [152.187.149.174.128.159.148]
data_frame = pd.DataFrame (Data_Frame, Columns = ['Name', 'MathScore'])
data_frame ['Cumulative Sum'] = data_frame.MathScore.Cumsum ()
_sum = data_frame.MathScore.sum()
data_frame ['Cumulative%'] = 100*(Cum_sum / _Sum)
Dataramme

Her er utgangen. Merk at den kumulative summen er vist i hver verdens 'kumulative sum' kolonne. Og totalen av alle verdier er 1097. Se den siste linjen i utgangen.

Eksempel 3:
Vi har sett hvordan vi kan beregne den kumulative prosentandelen av en kolonne på en gang. La oss nå se hvordan vi kan beregne summen av to kolonner samtidig. Prosedyren følger de samme trinnene som eksemplene ovenfor.

Først må du opprette en dataramme og deretter oppgi kolonnene du må beregne den kumulative summen. Finn deretter summen og kumulativ sum med henholdsvis sum () og cumsum () innebygd funksjon, og multiplisere verdiene med 100. Skriv nå ut verdiene i datarammen for å se utdataene. Koden er gitt nedenfor:

Importer pandaer som PD
Importer numpy som NP
data_frame =
'Navn': ['AB', 'BC', 'CD', 'de', 'EF', 'FG', 'GH'],
'MathScore': [152.187.149.174.128.159.148],
'Engelskscore': [134,167,125,189,192,145,186]
data_frame = pd.DataFrame (Data_Frame, Columns = ['Name', 'MathScore', 'EnglishScore'])
data_frame ['Cum Math Sum'] = Data_Frame.MathScore.Cumsum ()
data_frame ['cum eng sum'] = data_frame.Engelskscore.Cumsum ()
Msum = data_frame.MathScore.sum()
Esum = data_frame.Engelskscore.sum()
data_frame ['mcumulative%'] = 100*(cum_sum / msum)
data_frame ['Ecumulative%'] = 100*(Data_Frame ['Cum Eng Sum'] / Esum)
Dataramme

Utgangen fra ovennevnte kode er som følger:

Eksempel 4:
I dette eksemplet vil vi forklare hvordan vi skal håndtere 'nan' verdiene i en matrise? Og hvordan cumsum () omhandler 'nan' verdier i datarammen. De første trinnene er de samme som gitt i eksemplene; Imidlertid er de ekstra trinnene gitt nedenfor i koden:

Importer pandaer som PD
Importer numpy som NP
data_frame = pd.Dataramme(
'Navn': ['AB', 'BC', 'CD', 'de', 'EF', 'FG', 'GH'],
'MathScore': [152.187.149.174.128.159.148],
indeks = ['1', '2', '3', '4', '5', '6', '7'])
print (data_frame)

Utgangen viser en indekskolonne nå:

Hvis du legger merke til det, er det en ekstra kolonne 'indeks' lagt til datarammen. Neste trinn er å finne den kumulative summen vi har beregnet i eksemplene ovenfor.

data_frame ['Cumulative Sum'] = data_frame.MathScore.Cumsum ()
print (data_frame)

Her er den kumulative summen før du gir en 'nan' verdi:

La oss etter det slippe en verdi i matrisen og erstatte den med 'nan' verdien. Se på koden nedenfor for å oppdage hvordan du erstatter en verdi med 'Nan'.

data_frame = data_frame.slipp ('kumulativ sum', akse = 1)
Dataramme.loc ['3', 'MathScore'] = NP.Nan
print (data_frame)

Som du kan se i utgangen nedenfor at verdien ved indeks 3 erstattes med 'Nan':

La oss beregne den kumulative summen igjen for å se hvordan cumsum () reagerer på 'nan' verdien i matrisen.

data_frame ['Cumulative Sum'] = data_frame.MathScore.Cumsum ()
print (data_frame)

Her er produksjonen fra den nye kumulative summen.

Hvis du merker at Cumsum () ignorerte 'Nan' og beregnet den kumulative summen av alle andre verdier. Dessuten er den totale verdien også forskjellig ettersom den ene verdien i matrisen er 'nan', og den bidrar ikke til den totale verdien.

Konklusjon:

Denne artikkelen er designet for å lære å finne den kumulative prosentandelen med Pandas dataramme i Python. For det første har vi diskutert den grunnleggende matematiske formelen for kumulativ prosentandel, og så har vi sett de to innebygde Python-funksjonene, Cumsum () og Sum (), for å finne den kumulative prosentandelen med Pandas i Python. Den kumulative summen er den løpende summen av en sekvens av delvise summer. Ved hjelp av eksempler har vi vist hvordan vi bruker cumsum () og sum () innebygd python-funksjon for å beregne den kumulative summen av en kolonne.