Как получить сумму колонки Pandas
- Метод получения суммы столбца
-
“Совокупная сумма с
групповой
суммой” - Метод получения суммы столбцов на основе Условия других Столбцов Значения

Мы познакомимся с тем, как получить сумму Pandas DataFrame столбца
, а также с такими методами, как вычисление кумулятивной суммы с groupby
, и суммы столбцов фрейма данных на основе условных значений других столбцов.
Метод получения суммы столбца
Сначала мы создаем случайный массив, используя библиотеку NumPy
, а затем получаем сумму каждого столбца, используя функцию sum()
.
import numpy as np
import pandas as pd
df = pd.DataFrame(
np.random.randint(0,10,size=(10, 4)),
columns=list('1234'))
print(df)
Total = df['1'].sum()
print ("Column 1 sum:",Total)
Total = df['2'].sum()
print ("Column 2 sum:",Total)
Total = df['3'].sum()
print ("Column 3 sum:",Total)
Total = df['4'].sum()
print ("Column 4 sum:",Total)
Если вы запустите этот код, то получите следующий вывод (значение может быть разным в вашем случае),
1 2 3 4
0 2 2 3 8
1 9 4 3 1
2 8 5 6 0
3 9 5 7 4
4 2 7 3 7
5 9 4 1 3
6 6 7 7 3
7 0 4 2 8
8 0 6 6 4
9 5 8 7 2
Column 1 sum: 50
Column 2 sum: 52
Column 3 sum: 45
Column 4 sum: 40
“Совокупная сумма с групповой
суммой”
Мы можем получить кумулятивную сумму, используя метод групповых
. Рассмотрим следующий Датафрейм со столбцами Date
, Fruit
и Sale
:
import pandas as pd
df = pd.DataFrame(
{
'Date':
['08/09/2018',
'10/09/2018',
'08/09/2018',
'10/09/2018'],
'Fruit':
['Apple',
'Apple',
'Banana',
'Banana'],
'Sale':
[34,
12,
22,
27]
})
Если мы хотим вычислить кумулятивную сумму Продажа за фрукт и для каждой даты мы можем это сделать:
import pandas as pd
df = pd.DataFrame(
{
'Date':
['08/09/2018',
'10/09/2018',
'08/09/2018',
'10/09/2018'],
'Fruit':
['Apple',
'Apple',
'Banana',
'Banana'],
'Sale':
[34,
12,
22,
27]
})
print(df.groupby(by=['Fruit','Date']).sum().groupby(level=[0]).cumsum())
После запуска вышеуказанных кодов мы получим следующий вывод, который показывает кумулятивную сумму фруктов за каждую дату:
Fruit Date Sale
Apple 08/09/2018 34
10/09/2018 46
Banana 08/09/2018 22
10/09/2018 49
Метод получения суммы столбцов на основе Условия других Столбцов Значения
Этот метод обеспечивает функциональность получения суммы, если заданное условие истинно
и замены суммы на заданное значение
, если условие False
. Рассмотрим следующий код
import numpy as np
import pandas as pd
df = pd.DataFrame(
np.random.randn(5,3),
columns=list('xyz'))
df['sum'] = df.loc[df['x'] > 0,['x','y']].sum(axis=1)
df['sum'].fillna(0, inplace=True)
print(df)
В приведенном выше коде мы добавили новый столбец sum
в DataFrame
, который является суммой первых столбцов ['x', 'y']
если ['x']
больше чем 1, то мы заменяем sum
на 0
.
После запуска кода мы получим следующий вывод (значения могут быть изменены в вашем случае).
x y z sum
0 -1.067619 1.053494 0.179490 0.000000
1 -0.349935 0.531465 -1.350914 0.000000
2 -1.650904 1.534314 1.773287 0.000000
3 2.486195 0.800890 -0.132991 3.287085
4 1.581747 -0.667217 -0.182038 0.914530
Сопутствующая статья - Pandas DataFrame Column
- Как получить заголовки столбцов Pandas DataFrame в виде списка
- Как удалить колонку Pandas DataFrame
- Как преобразовать столбец DataFrame в дату в Pandas
- Как изменить порядок столбцов DataFrame