cumsum :計算軸向元素累加和,返回由中間結果組成的陣列
重點就是返回值是「由中間結果組成的陣列」
以下**在python3.6版本執行成功!
下面看**,定義乙個223的陣列,所以其shape是2,2,3,索引分別0,1,2
shape 索引
2 02 1
3 2**:
import numpy as np
arr = np.array([[[1,2,3],[8,9,12]],[[1,2,4],[2,4,5]]]) #2*2*3
print(arr.cumsum(0))
print(arr.cumsum(1))
print(arr.cumsum(2))
輸出結果:
#cumsum(0)
[[[ 1 2 3]
[ 8 9 12]]
[[ 2 4 7]
[10 13 17]]]
#cumsum(1)
[[[ 1 2 3]
[ 9 11 15]]
[[ 1 2 4]
[ 3 6 9]]]
#cumsum(2)
[[[ 1 3 6]
[ 8 17 29]]
[[ 1 3 7]
[ 2 6 11]]]
注釋:
arr是乙個223三維矩陣,索引值為0,1,2
cumsum(0):實現0軸上的累加:以最外面的陣列元素為單位,以[[1,2,3],[8,9,12]]為開始實現後面元素的對應累加
cumsum(1):實現1軸上的累加:以中間陣列元素為單位,以[1,2,3]為開始,實現後面元素的對應累加
cumsum(2):實現2軸上的累加:以最裡面的元素為累加單位,即1為開始,實現後面的元素累加
四維陣列實現
下面看乙個四維陣列222*4,索引值為0,1,2,3
**:
import numpy as np
arr = np.arange(32).reshape((2,2,2,4))
print(arr)
print(arr.cumsum(0))
print(arr.cumsum(1))
print(arr.cumsum(2))
print(arr.cumsum(3))
arr:
[[[[ 0 1 2 3]
[ 4 5 6 7]]
[[ 8 9 10 11]
[12 13 14 15]]]
[[[16 17 18 19]
[20 21 22 23]]
[[24 25 26 27]
[28 29 30 31]]]]
arr是乙個222*4四維矩陣,索引值為0,1,2,3
cumsum(0):實現0軸上的累加即:以最外面陣列元素為單位即
[[[ 0 1 2 3]
[ 4 5 6 7]]
[[ 8 9 10 11]
[12 13 14 15]]]
與[[[16 17 18 19]
[20 21 22 23]]
[[24 25 26 27]
[28 29 30 31]]]]
對應位置元素相加起來
結果:[[[[ 0 1 2 3]
[ 4 5 6 7]]
[[ 8 9 10 11]
[12 13 14 15]]]
[[[16 18 20 22]
[24 26 28 30]]
[[32 34 36 38]
[40 42 44 46]]]]
cumsum(1):實現1軸上的累加即:以次外面元素為單位,累加:
[[ 0 1 2 3]
[ 4 5 6 7]]
加[[ 8 9 10 11]
[12 13 14 15]]
加[[16 17 18 19]
[20 21 22 23]]
加[[24 25 26 27]
[28 29 30 31]]
累計過程產生的中間結果要記錄到陣列中
所以,結果:
[[[[ 0 1 2 3]
[ 4 5 6 7]]
[[ 8 10 12 14]
[16 18 20 22]]]
[[[16 17 18 19]
[20 21 22 23]]
Numpy函式cumsum之分分鐘理解
二 cumsum函式理解別廢話,觀察 思考 1 案例 import numpy as np arr np.arange 1,48,2 reshape 2,3,4 print arr 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 4...
MATLAB中的cumsum函式的用法
matlab中cumsum函式通常用於計算乙個陣列各行的累加值。在matlab的命令視窗中輸入doc cumsum或者help cumsum即可獲得該函式的幫助資訊。格式一 b cumsum a 這種用法返回陣列不同維數的累加和。如果a是乙個向量,cumsum a 返回乙個向量,該向量中第m行的元素...
sum函式,cumsum函式 Matlab
1 sum函式 sum函式用於求矩陣列方向元素或向量的和,呼叫格式如下。1 b sum a 若a為向量,則返回所有元素的和 如a為矩陣,則分別對其各列所有元素求和並返回結果。2 b sum a,dim 分別對矩陣a中第dim維的所有元素求和。應用示例 a pascal 6 a 1 1 1 1 1 1...