1. 程式人生 > 其它 >pandas中cumsum()和 cumprod()

pandas中cumsum()和 cumprod()

cumsum() :連加函式
numpy.cumsum(a, axis=None, dtype=None, out=None)
axis=0,按照行累加。
axis=1,按照列累加。
axis不給定具體值,就把numpy陣列當成一個一維陣列。
例子

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

#結果: 預設是按順序全部連加,相當於一個一維陣列
array([ 1, 3, 6, 10, 15, 21], dtype=int32)
np.cumsum(a,axis=0)

結果:axis=0 是按行連加,第一次是第一行1,2,3
第二次是第二行加上第一行 為5,
7,9 array([[1, 2, 3], [5, 7, 9]], dtype=int32)
np.cumsum(a,axis=1)

結果:第一次為第一列1,4。第二次為第二列加上第一列為3,9,
第三次是第三列加上前兩列為6,9
array([[ 1, 3, 6],
[ 4, 9, 15]], dtype=int32)

cumprod() :連乘跟連加一樣
例子

np.cumprod(a)

結果:按順序連乘,相當於一維陣列
array([ 1, 2, 6, 24, 120, 720], dtype=int32)


np.cumprod(a,axis=0)

結果:第一次為第一行,第二次為第二行乘以第一行

array([[ 1, 2, 3],
[ 4, 10, 18]], dtype=int32)
np.cumprod(a,axis=1)

結果:#第一次為第一列,第二次為第二列乘以第一列,第三次為第三列乘以前兩列
array([[ 1, 2, 6],
[ 4, 20, 120]], dtype=int32)