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.

Einen Kommentar hinzufügen

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