Spec-Zone.ru › NumPy 1.14

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 применяется только по одной оси (по умолчанию ось ноль; см. примеры ниже), поэтому для накопления по нескольким осям необходимо повторное использование.

Параметры:

массив : array_like

Массив, над которым нужно выполнить операцию.

ось : int, необязательно

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

dtype : код типа данных, необязательно

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

out : ndarray, None или кортеж из ndarray и None, необязательно

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

Изменено в версии 1.13.0: Разрешены кортежи для ключевого аргумента.

Возвращаемые значения:

r : ndarray

Накопленные значения. Если 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.ufunc.accumulate.html

Spec-Zone.ru

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