Hoe de som van kolommen in panda's te berekenen


Vaak bent u wellicht geïnteresseerd in het berekenen van de som van een of meer kolommen in een Panda DataFrame. Gelukkig kun je dit bij panda’s eenvoudig doen met behulp van de functie sum() .

Deze tutorial toont verschillende voorbeelden van het gebruik van deze functie.

Voorbeeld 1: Vind de som van een enkele kolom

Stel dat we de volgende panda’s DataFrame hebben:

 import pandas as pd
import numpy as np

#createDataFrame
df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86],
                   'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5],
                   'rebounds': [np.nan, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame 
df

	rating points assists rebounds
0 90 25 5 NaN
1 85 20 7 8
2 82 14 7 10
3 88 16 8 6
4 94 27 5 6
5 90 20 7 9
6 76 12 6 6
7 75 15 9 10
8 87 14 9 10
9 86 19 5 7

We kunnen de som van de kolom met het label “punten” vinden met behulp van de volgende syntaxis:

 df['points']. sum ()

182

De functie sum() sluit standaard ook NA’s uit. Als we bijvoorbeeld de som van de kolom ‘rebounds’ vinden, wordt de eerste waarde van ‘NaN’ eenvoudigweg uitgesloten van de berekening:

 df['rebounds']. sum ()

72.0

Voorbeeld 2: Vind de som van meerdere kolommen

We kunnen de som van meerdere kolommen vinden met behulp van de volgende syntaxis:

 #find sum of points and rebounds columns
df[['rebounds', 'points']]. sum ()

rebounds 72.0
points 182.0
dtype:float64

Voorbeeld 3: Vind de som van alle kolommen

We kunnen ook de som van alle kolommen vinden met behulp van de volgende syntaxis:

 #find sum of all columns in DataFrame
df. sum ()

rating 853.0
points 182.0
assists 68.0
rebounds 72.0
dtype:float64

Voor kolommen die niet numeriek zijn, berekent de functie sum() eenvoudigweg niet de som van die kolommen.

U kunt de volledige documentatie van de functie sum() hier vinden.

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert