numpy.cumsum 函数

numpy.cumsum

函数参数有numpy.cumsum(  a,  axis=None,  dtype=None,  out=None)

  # (numpy数组,  轴参数,  输出数组的元素的数据类型,不会用到的参数)

#  Return the cumulative sum of the elements along a given axis.

按照所给定的轴参数返回元素的梯形累计和,axis=0,按照行累加。axis=1,按照列累加。axis不给定具体值,就把numpy数组当成一个一维数组。


--------------------下面是详细解释,心急的不要看了--------------------

Parameters参数:

a: array_like

Input array. 输入数组;

axis: int, optional可选参数

Axis along which the cumulative sum is computed. The default (None) is to compute the cumsum over the flattened array.

轴:计算累计和的轴。默认(无)是在展平的数组上计算cumsum。

dtype: dtype, optional可选,平台默认是整型

Type of the returned array and of the accumulator in which the elements are summed. If dtype is not specified, it defaults to the dtype of a, unless a has an integer dtype with a precision less than that of the default platform integer. In that case, the default platform integer is used.

返回数组的类型以及元素求和的累加器的类型。如果未指定:dtype,则默认为:a的dtype,除非a的dtype的精度低于平台默认的整数的精度。在这种情况下,将使用平台默认的类型:整数。

out: ndarray, optional 这个参数基本用不到,可以忽略了

Alternative output array in which to place the result. It must have the same shape and buffer length as the expected output but the type will be cast if necessary. See doc.ufuncs (Section “Output arguments”) for more details.如下:

out

New in version 1.6.

The first output can be provided as either a positional or a keyword parameter. Keyword ‘out’ arguments are incompatible with positional ones.

..versionadded:: 1.10

The ‘out’ keyword argument is expected to be a tuple with one entry per output (which can beNonefor arrays to be allocated by the ufunc). For ufuncs with a single output, passing a single array (instead of a tuple holding a single array) is also valid.

Passing a single array in the ‘out’ keyword argument to a ufunc with multiple outputs is deprecated, and will raise a warning in numpy 1.10, and an error in a future release.

Returns返回值:

cumsum_along_axis : ndarray.

A new array holding the result is returned unless out is specified, in which case a reference to out is returned. The result has the same size as a, and the same shape as a if axis is not None or a is a 1-d array.

Arithmetic is modular when using integer types, and no error is raised on overflow.

算术是模块化,当使用整数类型,不会出现溢出错误信息。

-----------------直接看例子--------------


>>>

>>> a = np.array([[1,2,3], [4,5,6]])

>>> a

array([[1, 2, 3],

          [4, 5, 6]])

>>> np.cumsum(a)

array([ 1,  3,  6, 10, 15, 21])

>>> np.cumsum(a, dtype=float)    #  dtype = float  指定:输出的数据类型。

#  注意啦!没有指定 axis ;没有指定轴!输出就变成1维数组了,  如果你本来输入的就是1维数组,那就这样了。

array([  1.,  3.,  6.,  10.,  15.,  21.])

#  array([1,1+2=3,1+2+3=6,1+2+3+4=10,1+2+3+4+5=15,1+2+3+4+5+6=21])

>>>

>>> np.cumsum(a,axis=0)      # axis=0   表示:sum over rows for each of the 3 columns

                                                  #按照行累加,行求和

array([[1, 2, 3],

           [5, 7, 9]])            #[1,    2,    3]

                                     #[1+4=5,2+5=7,3+6=9]

>>> np.cumsum(a,axis=1)      # axis=1  ,表示:sum over columns for each of the 2 rows

                                                   #按照列累加,列求和

array([[ 1,  3,  6],

           [ 4,  9, 15]])



作者:老王叔叔
链接:https://www.jianshu.com/p/00cddc31db4d
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

     

猜你喜欢

转载自blog.csdn.net/lee_x_lee/article/details/95033209
今日推荐