Spec-Zone.ru › NumPy 1.12

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–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.ufunc.reduce.html

Spec-Zone.ru

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