Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Python/numpy: Selecting values by multiple indices

DZone's Guide to

Python/numpy: Selecting values by multiple indices

· Performance Zone
Free Resource

Transform incident management with machine learning and analytics to help you maintain optimal performance and availability while keeping pace with the growing demands of digital business with this eBook, brought to you in partnership with BMC.

As I mentioned in my previous post I’ve been playing around with numpy and I wanted to get the values of a collection of different indices in a 2D array.

If we had a 2D array that looked like this:

>>> x = arange(20).reshape(4,5)
>>> x
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])

I knew that it was possible to retrieve the first 3 rows by using the following code:

>>> x[0:3]
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])

What I wanted to do, however, was retrieve the 1st, 3rd and 4th rows which we can do by passing a collection to the array lookup function:

>>> x[[0,2,3]]
array([[ 0,  1,  2,  3,  4],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])

My collection of indices was actually in a tuple so I needed to use the list function to convert it to the appropriate data structure first:

>>> x[list((0,2,3))]
array([[ 0,  1,  2,  3,  4],
       [10, 11, 12, 13, 14],
       [15, 16, 17, 18, 19]])

Pretty neat!



Evolve your approach to Application Performance Monitoring by adopting five best practices that are outlined and explored in this e-book, brought to you in partnership with BMC.

Topics:

Published at DZone with permission of Mark Needham, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}