根据坐标列表[重复]从ndarray中构造一个ndarray。

问题描述 投票:3回答:1

我想建立一个ndarray tagetsrc ndarray的坐标。下面是一个例子

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]]

我怎样才能做到这一点?

python numpy numpy-ndarray numpy-slicing
1个回答
1
投票

你可以使用这种元组索引来获取每一组指数的值,然后进行转置,得到你想要的形状。

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

输出:

[[0 1 3]
 [9 5 1]]
© www.soinside.com 2019 - 2024. All rights reserved.