Метод sum
Метод sum применяется к DataFrame
и вычисляет сумму значений для каждого столбца
по умолчанию. С помощью параметра axis
можно выбрать направление: по столбцам
(axis=0, стандартное значение) или
по строкам (axis=1). Параметр
numeric_only позволяет ограничиться
только числовыми столбцами, а skipna
управляет пропуском значений NaN.
Синтаксис
df.sum(axis=0, skipna=True, numeric_only=False, **kwargs)
Пример
Давайте вычислим сумму всех числовых значений по столбцам таблицы:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
print(df.sum())
Результат выполнения кода:
a 15
b 150
dtype: int64
Пример
Теперь найдём сумму значений по строкам,
указав параметр axis=1:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
print(df.sum(axis=1))
Результат выполнения кода:
0 11
1 22
2 33
3 44
4 55
dtype: int64
Пример
Если в таблице есть пропущенные значения,
метод sum по умолчанию их пропускает.
Продемонстрируем это:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, None, 4, 5],
'b': [10, 20, 30, 40, None]
})
print(df.sum())
Результат выполнения кода:
a 12.0
b 100.0
dtype: float64
Пример
Если нужно игнорировать нечисловые столбцы,
используйте параметр numeric_only=True.
В этом случае строковые столбцы не участвуют
в вычислении:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': ['x', 'y', 'z', 'w', 'v'],
'c': [10, 20, 30, 40, 50]
})
print(df.sum(numeric_only=True))
Результат выполнения кода:
a 15
c 150
dtype: int64