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, 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