Spec-Zone.ru › NumPy 1.13

numpy.ufunc.accumulate

ufunc.accumulate(array, axis=0, dtype=None, out=None, keepdims=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 : array_like

Массив, над которым нужно действовать.

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

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

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

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

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

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

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

keepdims : bool

Не оказывает никакого влияния. Устарело и будет удалено в будущем.

Возвращает:

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.]])

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.ufunc.accumulate.html

Spec-Zone.ru

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