根据坐标列表从 ndarray 构造一个 ndarray

Construct a ndarray from ndarray according to list of coordinate

我想根据一些坐标从 src ndarray 构建一个 ndarray taget。这是一个例子

src = np.arange(12).reshape(3,4)
coordinates = [[[0,0],[0,1],[0,3]],
               [[2,1],[1,1],[0,1]]]
target = src.SOME_API(coordinates)
# expect target as
# [[0,1,3],
#  [9,5,1]]

我该怎么做?

您可以使用此元组索引获取每组索引的值,然后将其转置以获得所需的形状:

target = src[tuple(coordinates.T)].T

输出:

[[0 1 3]
 [9 5 1]]