numpy.ufunc.reduce
-
ufunc.reduce(a, axis=0, dtype=None, out=None, keepdims=False) -
Уменьшает размерность
aна единицу, применяя ufunc вдоль одной оси.Пусть
. Тогда
= результат итерации jпо
, поэтапного применения ufunc к каждому
. Для одномерного массива 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