我在理解 Numpy 数组中的索引时遇到了一个小问题。我认为一个简化的例子是最好的了解我正在尝试做的事情。所以首先我创建一个我想要填充的大小的零数组:
x = range(0,10,2)
y = range(0,10,2)
a = zeros(len(x),len(y))
所以这会给我一个 5X5 的零数组。现在,我想用一个我无法使用网格的相当复杂的函数来填充数组。我的问题是我想迭代为:
for i in xrange(0,10,2):
for j in xrange(0,10,2):
.........
"do function and fill the array corresponding to (i,j)"
但是,现在我想成为 a[2,10] 的是 2 和 10 的函数,但是 2 和 10 的函数的索引将是 a[1,4] 或其他。
再说一次,也许这是基本的,我浏览了文档,发现自己不知所措。
编辑:最后我尽可能地矢量化并编写了我在 Cython 中无法实现的模拟循环。此外,我使用 Joblib 来并行化操作。我将结果存储在一个列表中,因为在并行运行时数组没有正确填充。然后,我使用 Itertools 将列表拆分为单独的结果,并使用 Pandas 来组织结果。谢谢大家的帮助