假设我们有以下矩阵:
我们希望构建以下矩阵:
基本上,我们想要使用V的每个元素作为M的索引,其中M[V[0],0]为19,M[V[1],1]为50,M[V[2],2]为44。如何使用numpy且不使用for循环实现效率最高?
我可以按照以下方式完成:
但是有没有更好的方式呢?
M=[[ 19. 1. 8.]
[ 3. 6. 900.]
[ 4. 11. 44.]
[ 2. 50. 12.]]
我们有如下向量:
V=[0,3,2]
我们希望构建以下矩阵:
P=[[ 19. 50. 44.]
[ 19. 50. 44.]
[ 19. 50. 44.]
[ 19. 50. 44.]]
基本上,我们想要使用V的每个元素作为M的索引,其中M[V[0],0]为19,M[V[1],1]为50,M[V[2],2]为44。如何使用numpy且不使用for循环实现效率最高?
我可以按照以下方式完成:
temp=M[V[np.arange(v.shape[0])],np.arange(v.shape[0])]
P=np.tile(temp,(M.shape[0],1))
但是有没有更好的方式呢?