РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
466 of 541 menu

Метод accumulate класса ufunc

Метод accumulate класса ufunc применяет универсальную функцию к элементам массива последовательно, сохраняя результат каждого промежуточного вычисления. В результате получается массив той же длины, что и исходный, где каждый элемент содержит накопленный результат для предыдущих элементов. Этот метод особенно полезен для операций кумулятивного суммирования, произведения или других бинарных операций.

Синтаксис

ufunc.accumulate(array, axis=0, dtype=None, out=None)

Параметры метода:

  • array - входной массив, к элементам которого применяется накопление.
  • axis - ось, вдоль которой выполняется накопление (по умолчанию 0).
  • dtype - желаемый тип данных для результата.
  • out - массив для записи результата.

Метод возвращает массив с накопленными результатами.

Пример

Выполним кумулятивное суммирование элементов одномерного массива:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = np.add.accumulate(arr) print(res)

Результат выполнения кода:

[ 1 3 6 10 15]

Каждый элемент результата содержит сумму всех предыдущих элементов включая текущий.

Пример

Выполним кумулятивное произведение элементов массива:

import numpy as np arr = np.array([1, 2, 3, 4, 5]) res = np.multiply.accumulate(arr) print(res)

Результат выполнения кода:

[ 1 2 6 24 120]

Пример

Используем накопление вдоль строк для двумерного массива:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) res = np.add.accumulate(arr, axis=0) print(res)

Результат выполнения кода:

[[1 2 3] [5 7 9]]

В результате каждый элемент во второй строке содержит сумму элементов первого и второго столбцов.

Пример

Используем накопление вдоль столбцов для двумерного массива:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) res = np.add.accumulate(arr, axis=1) print(res)

Результат выполнения кода:

[[ 1 3 6] [ 4 9 15]]

Пример

Применим накопление с указанием типа данных результата:

import numpy as np arr = np.array([1, 2, 3, 4, 5], dtype=np.float32) res = np.add.accumulate(arr, dtype=np.float64) print(res.dtype) print(res)

Результат выполнения кода:

float64 [ 1. 3. 6. 10. 15.]

Смотрите также

  • метод reduce,
    который сводит массив к одному значению
  • метод outer,
    который применяет операцию ко всем парам элементов
  • метод at,
    который выполняет операцию на указанных индексах
  • метод reduceat,
    который выполняет операцию на срезах массива
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить