python:numpy数组的多个算术运算

2024-05-16 05:41:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码(需要从当前元素中减去之前元素的总和):

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的方式编写代码吗(更喜欢一行)?提前支付。在


Tags: 代码in元素fornp方式zerosit
1条回答
网友
1楼 · 发布于 2024-05-16 05:41:24

我认为你至少可以更有效地完成这项工作:

arr = np.zeros((N, M, T))
for it in xrange(T):
    arr[:,:,it] -= np.sum(arr[:,:,:it], axis=2)

它几乎是一条1线:

^{pr2}$

我假设你的实际数据arr不是全是零,否则,和将是一个零数组,然后你从一个零数组中减去它,剩下。。。和0数组(这不是很有趣)。在

相关问题 更多 >