【发布时间】:2020-04-28 22:26:39
【问题描述】:
我想从用索引矩阵索引的向量中提取一个填充了值的矩阵
即output(i, j) = vector(indices(i, j))
在 Matlab 中,这可以通过output = vector(indices) 来实现。
在 Python/numpy 中,我为此目的使用了以下循环,但我想知道是否有更有效的方法:
idx = np.random.randint(0, 100, (25, 10))
data = np.random.random(100)
output = np.empty((np.size(idx, 0), np.size(idx, 1)))
for i in range(0, np.size(idx, 0)):
output[i, :] = np.squeeze(data[idx[i, :]])
非常感谢
【问题讨论】:
标签: python matlab numpy matrix indexing