Movatterモバイル変換


[0]ホーム

URL:


SciPy

numpy.ufunc.reduce

ufunc.reduce(a,axis=0,dtype=None,out=None,keepdims=False,initial)

Reducesa’s dimension by one, by applying ufunc along one axis.

Leta.shape = (N_0, ..., N_i, ..., N_{M-1}). Thenufunc.reduce(a, axis=i)[k_0, ..,k_{i-1}, k_{i+1}, .., k_{M-1}] =the result of iteratingj overrange(N_i), cumulatively applyingufunc to eacha[k_0, ..,k_{i-1}, j, k_{i+1}, .., k_{M-1}].For a one-dimensional array, reduce produces results equivalent to:

r=op.identity# op = ufuncforiinrange(len(A)):r=op(r,A[i])returnr

For example, add.reduce() is equivalent to sum().

Parameters:
a:array_like

The array to act on.

axis:None or int or tuple of ints, optional

Axis or axes along which a reduction is performed.The default (axis = 0) is perform a reduction over the firstdimension of the input array.axis may be negative, inwhich case it counts from the last to the first axis.

New in version 1.7.0.

If this isNone, a reduction is performed over all the axes.If this is a tuple of ints, a reduction is performed on multipleaxes, instead of a single axis or all the axes as before.

For operations which are either not commutative or not associative,doing a reduction over multiple axes is not well-defined. Theufuncs do not currently raise an exception in this case, but willlikely do so in the future.

dtype:data-type code, optional

The type used to represent the intermediate results. Defaultsto the data-type of the output array if this is provided, orthe data-type of the input array if no output array is provided.

out:ndarray, None, or tuple of ndarray and None, optional

A location into which the result is stored. If not provided orNone,a freshly-allocated array is returned. For consistency withufunc.__call__, if given as a keyword, this may be wrapped in a1-element tuple.

Changed in version 1.13.0:Tuples are allowed for keyword argument.

keepdims:bool, optional

If this is set to True, the axes which are reduced are leftin the result as dimensions with size one. With this option,the result will broadcast correctly against the originalarr.

New in version 1.7.0.

initial:scalar, optional

The value with which to start the reduction.If the ufunc has no identity or the dtype is object, this defaultsto None - otherwise it defaults to ufunc.identity.IfNone is given, the first element of the reduction is used,and an error is thrown if the reduction is empty.

New in version 1.15.0.

Returns:
r:ndarray

The reduced array. Ifout was supplied,r is a reference to it.

Examples

>>>np.multiply.reduce([2,3,5])30

A multi-dimensional array example:

>>>X=np.arange(8).reshape((2,2,2))>>>Xarray([[[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 0array([[ 4,  6],       [ 8, 10]])>>>np.add.reduce(X,1)array([[ 2,  4],       [10, 12]])>>>np.add.reduce(X,2)array([[ 1,  5],       [ 9, 13]])

You can use theinitial keyword argument to initialize the reduction with adifferent value.

>>>np.add.reduce([10],initial=5)15>>>np.add.reduce(np.ones((2,2,2)),axis=(0,2),initializer=10)array([14., 14.])

Allows reductions of empty arrays where they would normally fail, i.e.for ufuncs without an identity.

>>>np.minimum.reduce([],initial=np.inf)inf>>>np.minimum.reduce([])Traceback (most recent call last):...ValueError:zero-size array to reduction operation minimum which has no identity

Previous topic

numpy.ufunc.signature

Next topic

numpy.ufunc.accumulate

Quick search

  • © Copyright 2008-2018, The SciPy community.
  • Last updated on Jul 24, 2018.
  • Created usingSphinx 1.6.6.

[8]ページ先頭

©2009-2025 Movatter.jp