Pandas sum kolonne

Pandas sum kolonne

Denne artikkelen vil demonstrere hvordan du kan oppsummere alle eller bestemte kolonner i en Pandas DataFrame ved hjelp av Python. Dataframe.Sum () -funksjonen vil bli brukt sammen med noen få nyttige parametere i de mange eksemplene på denne opplæringen.

'Dataframe.Sum () 'Funksjon i Pandas returnerer den totale summen for den spesifiserte aksen. Hvis inngangen er en akse av indeksen, legger funksjonen til hver kolonnes verdier individuelt. Så gjør det det samme for hver kolonne, og returnerer en serie som lagrer summen av dataene/verdiene i hver kolonne. I tillegg støtter den å beregne DataFrames sum ved å ignorere de manglende verdiene.

Syntaks

Pandas.DataFrame_Object.sum (akse = ingen, skipna = ingen, nivå = ingen, numeric_only = ingen, min_count = 0, ** kwargs)

Parametere

  1. akser: kolonner (1), indeks (0)
  2. Skipna: Ignorer Na/NULL -verdier når du beregner resultatet.
  3. nivå: Hvis den spesifiserte aksen er hierarkisk (en multi-indeks), kan du telle til et bestemt indeksnivå før du konverterer til en serie.
  4. numeric_only: Bare flyte, int og boolske kolonner er akseptable. Hvis ingen, prøv å bruke alt; Hvis ikke, bare numeriske data. For serier, ikke implementert.
  5. min_count: Antall mulige verdier som kreves for å fullføre operasjonen. Utfallet vil være NA hvis det er færre ikke-NA-verdier til stede enn Min_Count.

Komme tilbake

DataFrame (hvis spesifisert nivå) eller serier.

Dataramme

For alle eksemplene vil vi bruke følgende 'analyse' DataFrame. Den har 12 rader med 5 kolonner.

Importer pandaer
# Opprett DataFrame ved hjelp av lister
Analyse = Pandas.DataFrame ([[23, 'Sravan', 1000,34,56],
[23, 'Sravan', 700,11,0],
[23, 'Sravan', 20,4,2],
[21, 'Siva', 400,32,45],
[21, 'Siva', 100.456,78],
[23, 'Sravan', 00,90,12],
[21, 'Siva', 400,32,45],
[20, 'Sahaja', 120,1,67],
[23, 'Sravan', 00,90,12],
[22, 'Suryam', 450,76,56],
[22, 'Suryam', 40,0,1],
[22, 'Suryam', 12,45,0]
], kolonner = ['Id', 'Navn', 'Points3', 'Points1', 'Points2'])
# Vis DataFrame - Analyse
trykk (analyse)

Produksjon

ID -navn Points3 Points1 Points2
0 23 Sravan 1000 34 56
1 23 Sravan 700 11 0
2 23 Sravan 20 4 2
3 21 Siva 400 32 45
4 21 Siva 100 456 78
5 23 Sravan 0 90 12
6 21 Siva 400 32 45
7 20 Sahaja 120 1 67
8 23 Sravan 0 90 12
9 22 Suryam 450 76 56
10 22 Suryam 40 0 ​​1
11 22 Suryam 12 45 0

Her er 'ID', 'Points3', 'Points2' og 'Points1' kolonnene numeriske, og sørg for at du trenger å laste inn DataFrame for alle eksemplene som vi diskuterer i denne opplæringen.

Scenario 1: Summen av alle kolonnene

Vi kan direkte bruke sum () på DataFrame for å returnere summen av verdier i hver kolonne.

Pandas.DataFrame_Object.sum()

Eksempel

# Returner summen av verdier i alle kolonner
trykk (analyse.sum())

Produksjon

ID 264
Navn Sravansravansravansivasivasravansivasahajasrav ..
Points3 3242
Points1 871
Points2 374

Forklaring

Du kan se at summen av verdier i hver kolonne returneres.

Scenario 2: Sum av bestemt kolonne

Hvis du vil returnere summen av verdier i en bestemt kolonne, må du spesifisere kolonnenavnet og DataFrame -objektet.

Pandas.DataFrame_Object ['Column'].sum()

Eksempel

La oss returnere summen av verdier i 'Points1', 'Points2' og 'Points3' kolonner separat.

# Returner summen av verdier i Points1 -kolonnen
Print (Analyse ['Points1'].sum())
# Returner summen av verdier i Points2 -kolonnen
Print (Analyse ['Points2'].sum())
# Returner summen av verdier i Points3 -kolonnen
Print (Analyse ['Points3'].sum())

Produksjon

871
374
3242

Forklaring

  1. Sum av verdier i punktene1 -kolonnen er 871.
  2. Sum av verdier i punktene2 -kolonnen er 374.
  3. Sum av verdier i punktene3 -kolonnen er 3242.

Scenario 3: Sum over rader

Hvis du vil returnere summen av verdier over hver rad, må du spesifisere akseparameteren i summen () -funksjonen og stille den til 1.

Pandas.DataFrame_Object [[kolonne/s…]].sum (akse = 1)

Eksempel

La oss returnere summen av verdier på 'Points1', 'Points2' og 'Points3' over alle rader og lagre resultatet i 'Sum' -kolonnen.

# Returner summen av verdier over hver rad
Analyse ['Sum'] = Analyse [['Points1', 'Points2', 'Points3']]].sum (akse = 1)
trykk (analyse)

Produksjon

ID -navn Points3 Points1 Points2 Sum
0 23 Sravan 1000 34 56 1090
1 23 Sravan 700 11 0 711
2 23 Sravan 20 4 2 26
3 21 Siva 400 32 45 477
4 21 Siva 100 456 78 634
5 23 Sravan 0 90 12 102
6 21 Siva 400 32 45 477
7 20 Sahaja 120 1 67 188
8 23 Sravan 0 90 12 102
9 22 Suryam 450 76 56 582
10 22 Suryam 40 0 ​​1 41
11 22 Suryam 12 45 0 57

Forklaring

Nå holder den nye kolonnen - 'Sum' summen av tre poeng.

Vi kan også legge til rader uten å bruke sum (). Ved å bruke "+" -operatøren, kan vi oppnå den forrige funksjonaliteten.

Eksempel

  1. Legg til verdier i Points1 og Points2 kolonner og lagre resultatet i '2 lagt til' kolonne.
  2. Legg til verdier i Points1, Points2 og Points3 kolonner og lagre resultatet i '3 lagt til' kolonne.
Importer pandaer
# Opprett DataFrame ved hjelp av lister
Analyse = Pandas.DataFrame ([[23, 'Sravan', 1000,34,56],
[23, 'Sravan', 700,11,0],
[23, 'Sravan', 20,4,2],
[21, 'Siva', 400,32,45],
[21, 'Siva', 100.456,78],
[23, 'Sravan', 00,90,12],
[21, 'Siva', 400,32,45],
[20, 'Sahaja', 120,1,67],
[23, 'Sravan', 00,90,12],
[22, 'Suryam', 450,76,56],
[22, 'Suryam', 40,0,1],
[22, 'Suryam', 12,45,0]
], kolonner = ['Id', 'Navn', 'Points3', 'Points1', 'Points2'])
# Legg til verdier i Points1 og Points2 kolonner og lagre resultatet i '2 lagt til' kolonne
Analyse ['2 lagt til'] = analyse ['Points1']+analyse ['Points2']
# Legg til verdier i Points1, Points2 og Points2Columns og lagre resultatet i '3 lagt til' kolonne
Analyse ['3 lagt til'] = analyse ['Points1']+analyse ['Points2']+analyse ['Points3']
trykk (analyse)

Produksjon

ID -navn Points3 Points1 Points2 2 lagt til 3 lagt til
0 23 Sravan 1000 34 56 90 1090
1 23 Sravan 700 11 0 11 711
2 23 Sravan 20 4 2 6 26
3 21 Siva 400 32 45 77 477
4 21 Siva 100 456 78 534 634
5 23 Sravan 0 90 12 102 102
6 21 Siva 400 32 45 77 477
7 20 Sahaja 120 1 67 68 188
8 23 Sravan 0 90 12 102 102
9 22 Suryam 450 76 56 132 582
10 22 Suryam 40 0 ​​1 1 41
11 22 Suryam 12 45 0 45 57

Scenario 4: Sum () med Groupby ()

Hvis du vil returnere summen av verdier for enkeltgrupper, må du bruke GroupBy () med sum (). Så GroupBy () brukes til å gruppere kolonneverdiene i en bestemt kolonne, og sum () vil returnere summen i hver gruppe.

Pandas.DataFrame_Object.Groupby ('Grouping_column').sum()

Eksempel

La oss gruppere radene basert på navnekolonnen og returnere summen av verdier i hver gruppe for alle kolonner.

Importer pandaer
# Opprett DataFrame ved hjelp av lister
Analyse = Pandas.DataFrame ([[23, 'Sravan', 1000,34,56],
[23, 'Sravan', 700,11,0],
[23, 'Sravan', 20,4,2],
[21, 'Siva', 400,32,45],
[21, 'Siva', 100.456,78],
[23, 'Sravan', 00,90,12],
[21, 'Siva', 400,32,45],
[20, 'Sahaja', 120,1,67],
[23, 'Sravan', 00,90,12],
[22, 'Suryam', 450,76,56],
[22, 'Suryam', 40,0,1],
[22, 'Suryam', 12,45,0]
], kolonner = ['Id', 'Navn', 'Points3', 'Points1', 'Points2'])
# Gruppe radene basert på navnekolonnen og retursummen av verdier i hver gruppe for alle kolonner
trykk (analyse.Groupby ('Navn').sum())

Produksjon

ID Points3 Points1 Points2
Navn
Sahaja 20 120 1 67
Siva 63 900 520 168
Sravan 115 1720 229 82
Suryam 66 502 121 57

Forklaring

Så det er 4 grupper i kolonnen 'Navn'. For hver gruppe returneres summen av ID, Points3, Points1 og Points2.

Konklusjon

Vi prøvde å lære deg hvordan du beregner summen over DataFrames ved hjelp av Pandas Sum () -metoden. Vi har diskutert radmessig og kolonnemessig tillegg av verdier i eksemplene på dette innlegget. I tillegg lærte du hvordan du kan legge til kolonner betinget og hvordan du summer verdiene etter å ha gruppert kolonnen til DataFrame. Nå kan det hende du kan oppsummere kolonnene i DataFrame sammen eller oppsummere verdiene i DataFrame -kolonnen selv.