numpy中的cumsum函式

2021-09-05 13:08:07 字數 2210 閱讀 8717

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...