小编Gna*_*ord的帖子

在numpy中生成n维坐标数组

假设我有一个函数f,它可以将坐标作为参数并返回一个整数(在这种情况下为f(x)).坐标可以是多维的,并且是列表的形式.我的目标是用两个坐标之间的所有值填充numpy数组.我试图列出所有可能的索引并将其用作矢量化函数的输入.

这是我的2维坐标代码:

import itertools
import numpy


def index_array(lower_corner, upper_corner):
     x_range = range(lower_corner[0], upper_corner[0])
     y_range = range(lower_corner[1], upper_corner[1])
     return numpy.array(list(itertools.product(x_range, y_range)))


print(index_array([2, -2], [5, 3]))
Run Code Online (Sandbox Code Playgroud)

这将返回索引列表,如预期:

[[ 2 -2]
 [ 2 -1]
 [ 2  0]
 [ 2  1]
 [ 2  2]
 [ 3 -2]
 [ 3 -1]
 [ 3  0]
 [ 3  1]
 [ 3  2]
 [ 4 -2]
 [ 4 -1]
 [ 4  0]
 [ 4  1]
 [ 4  2]]
Run Code Online (Sandbox Code Playgroud)

这是我对n维度的尝试:

import itertools
import numpy


def f(x):
    # dummy function …
Run Code Online (Sandbox Code Playgroud)

python iterator numpy coordinates multidimensional-array

11
推荐指数
1
解决办法
1251
查看次数