numpy.ufunc.accumulate
метод
- ufunc.accumulate(array, axis=0, dtype=None, out=None)
-
Накопление результата применения оператора ко всем элементам.
Для одномерного массива accumulate производит результаты, эквивалентные:
r = np.empty(len(A)) t = op.identity # op = the ufunc being applied to A's elements for i in range(len(A)): t = op(t, A[i]) r[i] = t return rНапример, add.accumulate() эквивалентно np.cumsum().
Для многомерного массива accumulate применяется только вдоль одной оси (по умолчанию ось нуль; см. Примеры ниже), поэтому для накопления по нескольким осям необходимо повторное использование.
- Параметры:
-
- arrayarray_like
-
Массив, над которым нужно действовать.
- axisint, необязательно
-
Ось, вдоль которой применять накопление; по умолчанию ноль.
- dtypeкод типа данных, необязательно
-
Тип данных, используемый для представления промежуточных результатов. По умолчанию — тип данных выходного массива, если он предоставлен, или тип данных входного массива, если выходной массив не предоставлен.
- outndarray, None или кортеж из ndarray и None, необязательно
-
Местоположение, в которое сохраняется результат. Если не предоставлен или равен None, возвращается только что выделенный массив. Для согласованности с
ufunc.__call__, если задан в качестве ключевого слова, это может быть обернуто в кортеж из одного элемента.Изменено в версии 1.13.0: Разрешены кортежи для ключевого аргумента.
- Возвращаемые значения:
-
- rndarray
-
Значения накоплений. Если
outбыл предоставлен,rявляется ссылкой наout.
Примеры
Примеры одномерных массивов:
>>> np.add.accumulate([2, 3, 5]) array([ 2, 5, 10]) >>> np.multiply.accumulate([2, 3, 5]) array([ 2, 6, 30])
Примеры двумерных массивов:
>>> I = np.eye(2) >>> I array([[1., 0.], [0., 1.]])Накопление вдоль оси 0 (строки), по столбцам вниз:
>>> np.add.accumulate(I, 0) array([[1., 0.], [1., 1.]]) >>> np.add.accumulate(I) # no axis specified = axis zero array([[1., 0.], [1., 1.]])Накопление вдоль оси 1 (столбцы), по строкам:
>>> np.add.accumulate(I, 1) array([[1., 1.], [0., 1.]])
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.ufunc.accumulate.html