Функция sum
Функция sum вычисляет сумму элементов массива NumPy.
Первым параметром функция принимает массив, для которого
нужно вычислить сумму. Вторым параметром можно указать
ось, вдоль которой будет производиться вычисление.
Также можно задать начальное значение суммы, тип данных
результата и условие для включения элементов в вычисление.
Синтаксис
np.sum(arr, [axis], [dtype], [out], [keepdims], [initial], [where])
Пример
Давайте вычислим сумму всех элементов одномерного массива:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.sum(arr)
print(res)
Результат выполнения кода:
15
Пример
Вычислим сумму элементов двумерного массива без указания оси (суммируются все элементы):
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = np.sum(arr)
print(res)
Результат выполнения кода:
21
Пример
Вычислим сумму элементов вдоль оси 0 (по столбцам):
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = np.sum(arr, axis=0)
print(res)
Результат выполнения кода:
[5 7 9]
Пример
Вычислим сумму элементов вдоль оси 1 (по строкам):
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = np.sum(arr, axis=1)
print(res)
Результат выполнения кода:
[6 15]
Пример
Используем параметр initial для задания начального
значения суммы:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.sum(arr, initial=10)
print(res)
Результат выполнения кода:
25
Пример
Используем параметр where для вычисления суммы
только тех элементов, для которых условие истинно:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
mask = np.array([True, False, True, False, True])
res = np.sum(arr, where=mask)
print(res)
Результат выполнения кода:
9
Пример
Используем параметр dtype для указания типа данных
результата (например, для больших чисел, чтобы избежать
переполнения):
import numpy as np
arr = np.array([1, 2, 3, 4, 5], dtype=np.int8)
res = np.sum(arr, dtype=np.int64)
print(res)
print(res.dtype)
Результат выполнения кода:
15
int64
Пример
Используем параметр keepdims для сохранения размерности
массива после суммирования:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = np.sum(arr, axis=1, keepdims=True)
print(res)
Результат выполнения кода:
[[6]
[15]]
Пример
Функцию sum также можно вызывать как метод массива:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = arr.sum()
print(res)
Результат выполнения кода:
15