'Numpy 2D indexing of a 1D array with known min, max indices

I have a 1D numpy array of False booleans, and a 2D numpy array containing the min,max indices of values in the first array to change to True.

An example:

my_data = numpy.zeros((10,), dtype=bool)
inds2true = numpy.array([[1, 3], [8, 9]])

And I want the following result:

out = numpy.array([False, True, True, True, False,  False,  False,  False, True, True])

How is this possible in Python with Numpy?

Edit: I would like this to be performed in one step (i.e. no looping).



Solution 1:[1]

import numpy as np
my_data = np.zeros((10,), dtype=bool)
inds2true = np.array([[1, 3], [8, 9]])
indeces = []
for ix_range in inds2true:
    indeces += list(range(ix_range[0], ix_range[1] + 1))
my_data[indeces] = True

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 MLearner