python - how to replace an array containing indices with values from another array? -



python - how to replace an array containing indices with values from another array? -

i have array b containing indices of array a. want insert values of array c in array b same indices.

import numpy np a1=np.array([[1, 3, 5, 2, 3],[7, 6, 5, 2, 4],[2, 0, 5, 6, 4]]) a=a1.argsort()[:,:2]

## create array indices of 2 smallest values of a1

[[0 3] [3 4] [1 0]] b=np.array([[1],[2],[3],[4],[5],[6]])

now want replace value 0 in 1 in b ; 3 4 , on

i tried using:

[a[index]]=b[index]

but not right way array handles these indices values

please help

if understood correctly, can utilize flattened version of a index b:

result = b.ravel()[a.ravel()] [1, 4, 4, 5, 2, 1]

if need in same dimensions a can reshape it:

result = result.reshape(a.shape) [[1, 4] [4, 5] [2, 1]]

python python-2.7 numpy

Comments

Popular posts from this blog

php - Android app custom user registration and login with cookie using facebook sdk -

django - Access session in user model .save() -

php - .htaccess Multiple Rewrite Rules / Prioritizing -