Как найти сумму строк в Pandas DataFrame


Часто вас может заинтересовать вычисление суммы одной или нескольких строк в кадре данных pandas. К счастью, вы можете легко сделать это в pandas, используя функцию sum(axis=1) .

В этом руководстве показано несколько примеров использования этой функции в следующем кадре данных:

import pandas as pd
import numpy as np

#create DataFrame
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

Пример 1: найти сумму каждой строки

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

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

Вывод говорит нам:

  • Сумма значений в первой строке равна 128 .
  • Сумма значений во второй строке равна 112 .
  • Сумма значений в третьей строке равна 113 .

И так далее.

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

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

#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

Пример 3. Найдите суммы строк для короткого списка определенных столбцов

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

#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

Пример 4. Найдите суммы строк для длинного списка определенных столбцов

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

#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

Вы можете найти полную документацию по функции pandas sum() здесь .

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.