Как рассчитать сумму столбцов в Pandas
Часто вас может заинтересовать вычисление суммы одного или нескольких столбцов в кадре данных pandas. К счастью, вы можете легко сделать это в pandas, используя функцию sum() .
В этом руководстве показано несколько примеров использования этой функции.
Пример 1: найти сумму одного столбца
Предположим, у нас есть следующие Pandas DataFrame:
import pandas as pd import numpy as np #create DataFrame df = pd.DataFrame() #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
Мы можем найти сумму столбца под названием «баллы», используя следующий синтаксис:
df['points']. sum () 182
Функция sum() также будет исключать NA по умолчанию. Например, если мы найдем сумму столбца «рикошеты», первое значение «NaN» будет просто исключено из расчета:
df['rebounds']. sum () 72.0
Пример 2. Найдите сумму нескольких столбцов
Мы можем найти сумму нескольких столбцов, используя следующий синтаксис:
#find sum of points and rebounds columns df[['rebounds', 'points']]. sum () rebounds 72.0 points 182.0 dtype: float64
Пример 3: найти сумму всех столбцов
Мы также можем найти сумму всех столбцов, используя следующий синтаксис:
#find sum of all columns in DataFrame df.sum () rating 853.0 points 182.0 assists 68.0 rebounds 72.0 dtype: float64
Для столбцов, которые не являются числовыми, функция sum() просто не будет вычислять сумму этих столбцов.
Вы можете найти полную документацию по функции sum() здесь .
Pandas: как суммировать столбцы на основе условия
Вы можете использовать следующий синтаксис для суммирования значений столбца в pandas DataFrame на основе условия:
df.loc[df['col1'] == some_value, 'col2'].sum()**
В этом руководстве представлено несколько примеров того, как использовать этот синтаксис на практике, используя следующие Pandas DataFrame:
import pandas as pd #create DataFrame df = pd.DataFrame() #view DataFrame df # team conference points rebounds #0 A East 11 7 #1 A East 8 7 #2 A East 10 6 #3 B West 6 9 #4 B West 6 12 #5 C East 5 8**
Пример 1: суммирование одного столбца на основе одного условия
В следующем коде показано, как найти сумму очков для строк, в которых команда равна «А»:
df.loc[df['team'] == 'A', 'points'].sum() #29**
Пример 2: суммирование одного столбца на основе нескольких условий
В следующем коде показано, как найти сумму очков для строк, где команда равна «А», а конференция равна «Восток»:
df.loc[(df['team'] == A') &(df['conference'] == 'East'), 'points'].sum() #29**
Пример 3: суммирование одного столбца на основе одного из нескольких условий
Следующий код показывает, как найти сумму очков для строк, где команда равна «A» или «B»:
df.loc[df['team'].isin(['A', 'B']), 'points'].sum() 41**
Вы можете найти больше руководств по пандам на этой странице .
Как суммировать определенные столбцы в 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() #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:
Как суммировать определенные столбцы в 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() #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: