How to get values ​​from a NumPy array using multiple indices

I have a NumPy array that looks like this:

arr = [100.10, 200.42, 4.14, 89.00, 34.55, 1.12] 

How to get multiple values ​​from this array by index:

For example, how can I get the values ​​at positions 1, 4 and 5 of the index?

I tried something like this, which is wrong:

 arr[1, 4, 5] 
+8
python numpy scipy
source share
3 answers

Try it like this:

 >>> arr = np.array([100.10, 200.42, 4.14, 89.00, 34.55, 1.12]) >>> arr[[1,4,5]] array([ 200.42, 34.55, 1.12]) 

And for multidimensional arrays:

 >>> arr = np.arange(9).reshape(3,3) >>> arr array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) >>> arr[[0, 1, 1], [1, 0, 2]] array([1, 3, 5]) 
+25
source share

you were close

 >>> print arr[[1,4,5]] [ 200.42 34.55 1.12] 
+4
source share

Another solution is to use np.take , as stated in https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.take.html

 a = [4, 3, 5, 7, 6, 8] indices = [0, 1, 4] np.take(a, indices) # array([4, 3, 6]) 
+1
source share

All Articles