numpy.cumsum
- numpy.cumsum(a, axis=None, dtype=None, out=None)[source]
-
Возвращает кумулятивную сумму элементов вдоль заданной оси.
- Параметры:
-
- aarray_like
-
Входной массив.
- axisint, необязательно
-
Ось, вдоль которой вычисляется кумулятивная сумма. По умолчанию (None) вычисляется кумулятивная сумма по уплощенному массиву.
- dtypedtype, необязательно
-
Тип возвращаемого массива и аккумулятора, в котором суммируются элементы. Если
dtypeне указан, он по умолчанию совпадает с типомa, еслиaне имеет целочисленного типа с точностью меньше, чем у стандартного целочисленного типа платформы. В этом случае используется стандартный целочисленный тип платформы. - outndarray, необязательно
-
Альтернативный массив вывода, в котором необходимо разместить результат. Он должен иметь такую же форму и длину буфера, как ожидаемый результат, но тип будет преобразован при необходимости. Подробнее см. Определение типа результата.
- Возвращаемое значение:
-
- cumsum_along_axisndarray.
-
Возвращается новый массив, содержащий результат, если
outне указан, в противном случае возвращается ссылка наout. Результат имеет тот же размер, что иa, и ту же форму, что иa, еслиaxisне равен None илиaявляется одномерным массивом.
Примечания
Арифметика модулярна при использовании целочисленных типов, и ошибки переполнения не возникает.
cumsum(a)[-1]может не совпадать сsum(a)для чисел с плавающей запятой, так какsumможет использовать процедуру парного суммирования, уменьшая ошибку округления. См.sumдля получения дополнительной информации.Примеры
>>> a = np.array([[1,2,3], [4,5,6]]) >>> a array([[1, 2, 3], [4, 5, 6]]) >>> np.cumsum(a) array([ 1, 3, 6, 10, 15, 21]) >>> np.cumsum(a, dtype=float) # specifies type of output value(s) array([ 1., 3., 6., 10., 15., 21.])>>> np.cumsum(a,axis=0) # sum over rows for each of the 3 columns array([[1, 2, 3], [5, 7, 9]]) >>> np.cumsum(a,axis=1) # sum over columns for each of the 2 rows array([[ 1, 3, 6], [ 4, 9, 15]])cumsum(b)[-1]может не совпадать сsum(b)>>> b = np.array([1, 2e-9, 3e-9] * 1000000) >>> b.cumsum()[-1] 1000000.0050045159 >>> b.sum() 1000000.0050000029
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.cumsum.html