Hoe de som van rijen in een pandas dataframe te vinden
Vaak bent u wellicht geïnteresseerd in het berekenen van de som van een of meer rijen in een Panda DataFrame. Gelukkig kun je dit bij panda’s eenvoudig doen met behulp van de functie sum(axis=1) .
In deze zelfstudie ziet u verschillende voorbeelden van het gebruik van deze functie op het volgende DataFrame:
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': [8, np.nan, 10, 6, 6, 9, 6, 10, 10, 7]}) #view DataFrame df rating points assists rebounds 0 90 25 5 8.0 1 85 20 7 NaN 2 82 14 7 10.0 3 88 16 8 6.0 4 94 27 5 6.0 5 90 20 7 9.0 6 76 12 6 6.0 7 75 15 9 10.0 8 87 14 9 10.0 9 86 19 5 7.07
Voorbeeld 1: Vind de som van elke rij
We kunnen de som van elke rij van het DataFrame vinden met behulp van de volgende syntaxis:
df. sum (axis=1)
0 128.0
1,112.0
2,113.0
3 118.0
4,132.0
5,126.0
6 100.0
7 109.0
8 120.0
9 117.0
dtype:float64
De uitvoer vertelt ons:
- De som van de waarden in de eerste rij is 128 .
- De som van de waarden in de tweede rij is 112 .
- De som van de waarden in de derde rij is 113 .
Enzovoort.
Voorbeeld 2: Plaats rijsommen in een nieuwe kolom
We kunnen de volgende code gebruiken om een kolom aan ons DataFrame toe te voegen om de rijsommen vast te houden:
#define new DataFrame column 'row_sum' as the sum of each row df['row_sum'] = df. sum (axis=1) #view DataFrame df rating points assists rebounds row_sum 0 90 25 5 8.0 128.0 1 85 20 7 NaN 112.0 2 82 14 7 10.0 113.0 3 88 16 8 6.0 118.0 4 94 27 5 6.0 132.0 5 90 20 7 9.0 126.0 6 76 12 6 6.0 100.0 7 75 15 9 10.0 109.0 8 87 14 9 10.0 120.0 9 86 19 5 7.0 117.0
Voorbeeld 3: Zoek rijsommen voor een korte lijst met specifieke kolommen
We kunnen de volgende code gebruiken om de rijsom voor een korte lijst met specifieke kolommen te vinden:
#define new DataFrame column as sum of points and assists columns df['sum_pa'] = df['points'] + df['assists'] #view DataFrame df rating points assists rebounds sum_pa 0 90 25 5 8.0 30 1 85 20 7 NaN 27 2 82 14 7 10.0 21 3 88 16 8 6.0 24 4 94 27 5 6.0 32 5 90 20 7 9.0 27 6 76 12 6 6.0 18 7 75 15 9 10.0 24 8 87 14 9 10.0 23 9 86 19 5 7.0 24
Voorbeeld 4: Zoek rijsommen voor een lange lijst met specifieke kolommen
We kunnen de volgende code gebruiken om de rijsom voor een langere lijst met specifieke kolommen te vinden:
#define col_list as a list of all DataFrame column names col_list=list(df) #remove the column 'rating' from the list col_list.remove('rating') #define new DataFrame column as sum of rows in col_list df['new_sum'] = df[col_list]. sum (axis=1) #view DataFrame df rating points assists rebounds new_sum 0 90 25 5 8.0 38.0 1 85 20 7 NaN 27.0 2 82 14 7 10.0 31.0 3 88 16 8 6.0 30.0 4 94 27 5 6.0 38.0 5 90 20 7 9.0 36.0 6 76 12 6 6.0 24.0 7 75 15 9 10.0 34.0 8 87 14 9 10.0 33.0 9 86 19 5 7.0 31.0
U kunt de volledige documentatie van de pandas sum()-functie hier vinden.