一、基本介紹
1、cumsum函數是Python numpy庫中的一個函數,主要作用是對數組進行累加運算。
2、cumsum函數的原型是numpy.cumsum(a, axis=None, dtype=None, out=None),其中a是需要進行累加運算的數組,axis是需要進行累加的維度,dtype是返回結果的數據類型,out表示輸出的結果,可以用於指定輸出的位置。
3、cumsum函數可以進行正向和反向累加運算。正向累加是從第一個元素開始,將數組中的所有元素全部進行累加運算,反向累加是從最後一個元素開始,將數組中的元素全部逆序進行累加運算。
二、對一維數組的運算
1、對於一維數組a,可以通過不同的axis參數進行正向和反向累加運算。
import numpy as np
a = np.array([1, 2, 3, 4, 5])
result1 = np.cumsum(a, axis=0)
result2 = np.cumsum(a[::-1])[::-1]
print(result1)
print(result2)
2、以上代碼分別演示了正向和反向累加的效果。其中,result1是正向累加,得到的結果為[1, 3, 6, 10, 15],result2是反向累加,得到的結果為[15, 14, 12, 9, 5]。
3、對於一維數組a,cumsum函數也可以指定dtype參數,用於返回的結果類型。
import numpy as np
a = np.array([1, 2, 3, 4, 5])
result = np.cumsum(a, dtype=float)
print(result)
4、以上代碼指定了返回結果的數據類型為float,得到的結果為[1., 3., 6., 10., 15.]。
三、對二維數組的運算
1、對於二維數組a,可以通過axis參數指定對哪個方向進行累加運算。
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
result1 = np.cumsum(a, axis=0)
result2 = np.cumsum(a, axis=1)
print(result1)
print(result2)
2、以上代碼分別演示了在不同方向上進行累加運算的效果。result1表示對行方向進行累加,得到的結果為[[1 2 3], [5 7 9], [12 15 18]],result2表示對列方向進行累加,得到的結果為[[1 3 6], [4 9 15], [7 15 24]]。
3、對於二維數組a,cumsum函數可以指定dtype參數和out參數,同樣適用於一維數組的運算。
四、對多維數組的運算
1、對於多維數組a,可以通過axis參數指定對哪個方向進行累加運算。
import numpy as np
a = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
result1 = np.cumsum(a, axis=0)
result2 = np.cumsum(a, axis=1)
result3 = np.cumsum(a, axis=2)
print(result1)
print(result2)
print(result3)
2、以上代碼分別演示了對三維數組在不同方向上進行累加運算的結果。result1表示對第一個維度進行累加,得到的結果為[[[1 2], [3 4]], [[6 8], [10 12]]];result2表示對第二個維度進行累加,得到的結果為[[[1 2], [3 4]], [[6 8], [12 14]]];result3表示對第三個維度進行累加,得到的結果為[[[1 3], [3 7]], [[5 11], [7 15]]]。
3、同樣,cumsum函數可以針對多維數組指定dtype參數和out參數。
五、應用實例
1、累加數組中的一個子區間。
import numpy as np
a = np.array([1, 2, 3, 4, 5])
result = np.cumsum(a[1:4])
print(result)
2、以上代碼累加了a數組中下標為1到3的元素,得到的結果為[2 5 9]。
3、求解數組的前綴和或後綴和。
import numpy as np
a = np.array([1, 2, 3, 4, 5])
result_prefix = np.cumsum(a)
result_suffix = np.cumsum(a[::-1])[::-1]
print(result_prefix)
print(result_suffix)
4、以上代碼分別求解了a數組的前綴和和後綴和。result_prefix表示a數組的前綴和,得到的結果為[1 3 6 10 15];result_suffix表示a數組的後綴和,得到的結果為[15 14 12 9 5]。
六、總結
1、cumsum函數是Python numpy庫中的一個累加函數,可用於數組的前綴和、後綴和或區間求和。
2、cumsum函數適用於一維、二維和多維數組,可以通過axis參數指定對哪個方向進行累加運算。
3、cumsum函數還可以指定dtype參數和out參數來控制返回結果的數據類型和輸出位置。
原創文章,作者:LJQIB,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/371544.html