Spec-Zone.ru › NumPy 1.10

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, необязательно

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

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

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.ufunc.reduce.html

Spec-Zone.ru

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