Spec-Zone.ru › NumPy 1.19

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, optional

Ось, вдоль которой применять накопление; по умолчанию ноль.

dtypedata-type code, optional

Тип данных, используемый для представления промежуточных результатов. По умолчанию используется тип данных выходного массива, если он предоставлен, или тип данных входного массива, если выходной массив не предоставлен.

outndarray, None, or tuple of ndarray and None, optional

Расположение, в котором хранится результат. Если не предоставлено или None, возвращается только что выделенный массив. Для согласованности с ufunc.__call__, если задано в качестве ключевого аргумента, это может быть заключено в кортеж из 1 элемента.

Изменено в версии 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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.ufunc.accumulate.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API