Как суммировать определенные столбцы в Pandas (с примерами)


Вы можете использовать следующие методы, чтобы найти сумму определенного набора столбцов в кадре данных pandas:

Метод 1: найти сумму всех столбцов

#find sum of all columns
df['sum'] = df.sum (axis= 1 )

Метод 2: найти сумму определенных столбцов

#specify the columns to sum
cols = ['col1', 'col4', 'col5']

#find sum of columns specified 
df['sum'] = df[cols]. sum (axis= 1 )

В следующих примерах показано, как использовать каждый метод на практике со следующими пандами DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [18, 22, 19, 14, 14, 11, 20, 28],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print(df)

 points assists rebounds
0 18 5 11
1 22 7 8
2 19 7 10
3 14 9 6
4 14 12 6
5 11 9 5
6 20 9 9
7 28 4 12

Пример 1: найти сумму всех столбцов

В следующем коде показано, как суммировать значения строк по всем столбцам в DataFrame:

#define new column that contains sum of all columns
df['sum_stats'] = df.sum (axis= 1 )

#view updated DataFrame
df

 points assists rebounds sum_stats
0 18 5 11 34
1 22 7 8 37
2 19 7 10 36
3 14 9 6 29
4 14 12 6 32
5 11 9 5 25
6 20 9 9 38
7 28 4 12 44

Столбец sum_stats содержит сумму значений строки по всем столбцам.

Например, вот как были рассчитаны значения:

  • Сумма строки 0: 18 + 5 + 11 = 34
  • Сумма ряда 1: 22 + 7 + 8 = 37
  • Сумма ряда 2: 19 + 7 + 10 = 36

И так далее.

Пример 2: найти сумму определенных столбцов

В следующем коде показано, как суммировать значения строк по всем столбцам в DataFrame:

#specify the columns to sum
cols = ['points', 'assists']

#define new column that contains sum of specific columns
df['sum_stats'] = df[cols]. sum (axis= 1 )

#view updated DataFrame
df

 points assists rebounds sum_stats
0 18 5 11 23
1 22 7 8 29
2 19 7 10 26
3 14 9 6 23
4 14 12 6 26
5 11 9 5 20
6 20 9 9 29
7 28 4 12 32

Столбец sum_stats содержит сумму значений строк в столбцах «очки» и «ассисты».

Например, вот как были рассчитаны значения:

  • Сумма строки 0: 18 + 5 + 11 = 23
  • Сумма ряда 1: 22 + 7 = 29
  • Сумма ряда 2: 19 + 7 = 26

И так далее.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:

Как выполнить функцию SUMIF в Pandas
Как выполнить GroupBy Sum в Pandas
Как суммировать столбцы на основе условия в Pandas