Home > Software design >  vectorized matrix list application in numpy
vectorized matrix list application in numpy

Time:11-24

the problem i am trying to solve is as follows. I am given a matrix of arbitrary dimension representing indices of a list, and then a list. I would like to get back a matrix with the list elements swapped for the indices. I can't figure out how to do that in a vectorized way: i.e if z = [[0,1], [1,0]] and list = [20,10], i'd want [[20,10], [10,20]] returned.

CodePudding user response:

When they both are np.array, you can do indexing in a natural way:

import numpy as np

z = np.array([[0, 1], [1, 0]])
a = np.array([20, 10])

output = a[z]
print(output)
# [[20 10]
#  [10 20]]
  • Related