Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有这个代码(需要从当前减去先前元素的总和):
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-liner:
for it in xrange(T): arr[:,:,it] -= np.sum(arr[:,:,:it], axis=2)
我假设您的真实数据arr并非全为零 - 否则,总和将是一个零数组,然后您从零数组中减去它,留下......和零数组(这不是很有趣)。
arr