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