How can I simultaneously select all odd rows and all even columns of an array

Let’s say you have this array, x:

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

To get every other odd row, like you mentioned above:

>>> x[::2]
array([[ 1,  2,  3,  4,  5],
       [11, 12, 13, 14, 15]])

To get every other even column, like you mentioned above:

>>> x[:, 1::2]
array([[ 2,  4],
       [ 7,  9],
       [12, 14],
       [17, 19]])

Then, combining them together yields:

>>> x[::2, 1::2]
array([[ 2,  4],
       [12, 14]])

For more details, see the Indexing docs page.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)