我有一个 numpy nd 数组。我的任务的简化版本是沿每个轴获取一个向量。为了显示:
import numpy
x = numpy.array(range(24)).reshape((2,3,4))
x0 = x[0,0,:]
x1 = x[0,:,0]
x2 = x[:,0,0]
但是我不一定知道 x 将具有的维度数。所以挑战是如何将冒号 : 索引运算符放置在变量位置。此类语法可能如下所示的示例:
n = x.ndim
ind = list(np.zeros(n))
dim = 0
ind[dim] = ':'
y = x[ind]
或者
y = indexer.index(x,ind)
对于某些模块索引器。我可以写它,但我觉得这必须已经解决了,我不能是唯一一个想要这样做的人。例如,在 MATLAB 中,您可以使用 subsref() 函数来执行此操作。
python / numpy / other 模块中是否存在任何这样的构造?