Spec-Zone.ru › NumPy 1.14

numpy.ufunc.reduce

ufunc.reduce(a, axis=0, dtype=None, out=None, keepdims=False)

Уменьшает размерность a на единицу, применяя ufunc вдоль одной оси.

Пусть a.shape = (N_0, ..., N_i, ..., N_{M-1}). Тогда ufunc.reduce(a, axis=i)[k_0, ..,k_{i-1}, k_{i+1}, .., k_{M-1}] = результат итерации j по range(N_i), поочерёдно применяя ufunc к каждому a[k_0, ..,k_{i-1}, j, k_{i+1}, .., k_{M-1}]. Для одномерного массива, reduce производит результаты, эквивалентные:

r = op.identity # op = ufunc
for i in range(len(A)):
  r = op(r, A[i])
return r

Например, add.reduce() эквивалентно sum().

Параметры:

a : array_like

Массив, над которым выполняется операция.

axis : None или int или кортеж из целых чисел, необязательно

Ось или оси, по которым выполняется сокращение. По умолчанию (axis = 0) выполняется сокращение по первой размерности входного массива. axis может быть отрицательным, в этом случае он считает от последней к первой оси.

Новое в версии 1.7.0.

Если это None, выполняется сокращение по всем осям. Если это кортеж из целых чисел, сокращение выполняется по нескольким осям, вместо одной оси или всех осей, как прежде.

Для операций, которые не являются коммутативными или ассоциативными, выполнение сокращения по нескольким осям не определено. В настоящее время ufuncs не генерируют исключение в этом случае, но, вероятно, будут делать это в будущем.

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

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

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

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

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

keepdims : bool, необязательно

Если установлено в True, оси, которые были сокращены, сохраняются в результате в качестве измерений с размером один. С этим параметром результат будет корректно транслироваться относительно исходного arr.

Новое в версии 1.7.0.

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

r : ndarray

Сокращённый массив. Если out был предоставлен, r является ссылкой на него.

Примеры

>>> np.multiply.reduce([2,3,5])
30

Пример с многомерным массивом:

>>> X = np.arange(8).reshape((2,2,2))
>>> X
array([[[0, 1],
        [2, 3]],
       [[4, 5],
        [6, 7]]])
>>> np.add.reduce(X, 0)
array([[ 4,  6],
       [ 8, 10]])
>>> np.add.reduce(X) # confirm: default axis value is 0
array([[ 4,  6],
       [ 8, 10]])
>>> np.add.reduce(X, 1)
array([[ 2,  4],
       [10, 12]])
>>> np.add.reduce(X, 2)
array([[ 1,  5],
       [ 9, 13]])

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.ufunc.reduce.html

Spec-Zone.ru

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