numpy.cumsum()
Функция numpy.cumsum() возвращает массив накопленных (кумулятивных) сумм элементов вдоль заданной оси. Элемент с индексом i равен сумме всех элементов от 0 до i включительно.
Сигнатура
numpy.cumsum(a, axis=None, dtype=None, out=None)
Параметры
a— входной массив.axis— ось, вдоль которой считается сумма.None(по умолчанию) — массив выпрямляется и суммируется как 1D.dtype— тип результата (по умолчанию — тип входа, но для целых типов меньше платформенногоintприводится кint).out— массив-приёмник.
Возвращаемое значение
ndarray той же формы, что и a (или одномерный, если axis=None), содержащий накопленные суммы.
Примеры
Пример 1. Одномерный массив.
import numpy as np
a = np.array([1, 2, 3, 4, 5])
print(np.cumsum(a))
[ 1 3 6 10 15]
Пример 2. Двумерный массив без оси.
m = np.array([[1, 2, 3], [4, 5, 6]])
print(np.cumsum(m))
[ 1 3 6 10 15 21]
Пример 3. Сумма по столбцам и строкам.
m = np.array([[1, 2, 3], [4, 5, 6]])
print("По столбцам (axis=0):\n", np.cumsum(m, axis=0))
print("По строкам (axis=1):\n", np.cumsum(m, axis=1))
По столбцам (axis=0):
[[1 2 3]
[5 7 9]]
По строкам (axis=1):
[[ 1 3 6]
[ 4 9 15]]
Пример 4. Накопленный пробег робота.
# Расстояние, пройденное на каждом шаге, см
step_cm = np.array([5.0, 5.2, 4.8, 5.1, 5.0])
total = np.cumsum(step_cm)
print("Итого по шагам:", total)
Итого по шагам: [ 5. 10.2 15. 20.1 25.1]
Пример 5. Интеграл сигнала методом прямоугольников.
dt = 0.1
current = np.array([0.0, 0.5, 1.0, 1.5, 2.0]) # А
charge = np.cumsum(current) * dt # Кл
print("Накопленный заряд:", charge)
Накопленный заряд: [0. 0.05 0.15 0.3 0.5 ]
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.