[英]python: multiple arithmetic operations for numpy array
我有此代碼(需要從當前值中減去先前元素的總和):
arr = np.zeros((N,M,T))
for it in xrange(T):
sum_arr = np.zeros((M,N))
for tt in xrange(it): sum_arr += arr[:,:,tt]
arr[:,:,it] -= sum_arr
問題:是否可以用pythonic方式編寫此代碼(首選一行)? 提前謝謝。
我認為您至少可以更有效地完成總和:
arr = np.zeros((N, M, T))
for it in xrange(T):
arr[:,:,it] -= np.sum(arr[:,:,:it], axis=2)
這幾乎是1班輪:
for it in xrange(T): arr[:,:,it] -= np.sum(arr[:,:,:it], axis=2)
我假設您的實際數據arr
並非全為零-否則,總和將為零數組,然后從零數組中減去零,剩下...和零數組(這不是很有趣) 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.