假设我有一个numpy矩阵:并且有我需要的位置,从中值:。data = np.random.rand(200, 50, 100)locs = np.random.randint(50, size=(200, 2))
如何获得生成的形状矩阵?从本质上讲,我想从 指定的位置获取值。(200, 2, 100)datalocs
如果我这样做:,我最终会得到一个形状的矩阵,而不是。data[locs](200, 2, 50, 100)(200, 2, 100)
根据要求更新了更多详细信息:
如果我们有:
data = np.arange(125)
reshaped = np.reshape(data, (5, 5, 5))
locs = [[3, 4], [2, 1], [1, 3], [3, 3], [0, 0]]
然后执行类似操作应给出以下输出:data[locs]
array([[[ 15, 16, 17, 18, 19],
[ 20, 21, 22, 23, 24]],
[[ 35, 36, 37, 38, 39],
[ 30, 31, 32, 33, 34]],
[[ 55, 56, 57, 58, 59],
[ 65, 66, 67, 68, 69]],
[[ 90, 91, 92, 93, 94],
[ 90, 91, 92, 93, 94]],
[[100, 101, 102, 103, 104],
[100, 101, 102, 103, 104]]])
Smart猫小萌
相关分类