當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy cumsum用法及代碼示例


本文簡要介紹 python 語言中 numpy.cumsum 的用法。

用法:

numpy.cumsum(a, axis=None, dtype=None, out=None)

返回沿給定軸的元素的累積和。

參數

a array_like

輸入數組。

axis 整數,可選

計算累積和的軸。默認值 (None) 是計算展平數組上的 cumsum。

dtype dtype,可選

返回的數組以及對元素進行求和的累加器的類型。如果numpy.dtype未指定,默認為 dtypea, 除非a具有精度小於默認平台整數的整數數據類型。在這種情況下,將使用默認的平台整數。

out ndarray,可選

用於放置結果的替代輸出數組。它必須具有與預期輸出相同的形狀和緩衝區長度,但如果需要,類型將被強製轉換。有關更多詳細信息,請參閱輸出類型確定。

返回

cumsum_along_axis 數組。

除非指定了 out,否則將返回一個保存結果的新數組,在這種情況下,將返回對 out 的引用。如果軸不是 None 或 a 是一維數組,則結果具有與 a 相同的大小和相同的形狀。

注意

使用整數類型時算術是模塊化的,溢出時不會引發錯誤。

對於浮點值,cumsum(a)[-1] 可能不等於 sum(a),因為 sum 可能使用成對求和例程,從而減少了 roundoff-error。有關詳細信息,請參閱 sum

例子

>>> 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)     # specifies type of output value(s)
array([  1.,   3.,   6.,  10.,  15.,  21.])
>>> np.cumsum(a,axis=0)      # sum over rows for each of the 3 columns
array([[1, 2, 3],
       [5, 7, 9]])
>>> np.cumsum(a,axis=1)      # sum over columns for each of the 2 rows
array([[ 1,  3,  6],
       [ 4,  9, 15]])

cumsum(b)[-1] 可能不等於 sum(b)

>>> b = np.array([1, 2e-9, 3e-9] * 1000000)
>>> b.cumsum()[-1]
1000000.0050045159
>>> b.sum()
1000000.0050000029

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.cumsum。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。