2
我不太确定如何描述我的问题,但我会尝试。在numpy数组中使用基于位置的numpy算术
我想知道如果numpy的有功能做到这一点:
可以说我有一个二维数组叫做网格:
grid = [ [0,0],
[0,0] ]
我也有第二个二维数组称为ALIST:
aList = [ [1,2],
[3,4] ]
我想基于第一个数组的索引应用数学到第一个数组。
所以在每次迭代完成的数学是这样的:
grid[i][j] = [(i - aList[k][0]) + (j - aList[k][1])]
目前这样在用Python for循环的方式,昂贵的,所以我需要一个替代。
编辑:更多的澄清,如果我不使用numpy的我会写这样的事:
for i in range(2):
for j in range(2):
num = 0
for k in range(2):
num += (i-aList[k][0]) + (j-aList[k][1])
grid[i][j] = num
然而这实在是太大了蟒蛇减缓了我的数据量。
能否请您贴上您的脚本的一个小的工作副本?很难解析这里发生的事情。什么是'k'? – wflynny
如果这真的是你在做的事情,'k'是迭代数,那么注意你的表达式可以简化为'[i + j - c]'其中'c = aList [k] [0] + aList [k] [1]'...... – Floris
对不起,如果我把这个问题弄糊涂了,我知道我在解释这个时会不好。我,j和k都是迭代器。我和j遍历整个二维数组网格。 K遍历数组,网格中每个点处的aList。 –