Indexing arrays with Booleans
Boolean indexing is indexing based on a Boolean array and falls in the category of fancy indexing. Since Boolean indexing is a form of fancy indexing, the way it works is basically the same. This means that indexing happens with the help of a special iterator object. Perform the following steps to index an array:
First, we create an image with dots on the diagonal. This is in some way similar to the Fancy indexing section. This time we select modulo four points on the diagonal of the image, as shown in the following code snippet:
def get_indices(size): arr = np.arange(size) return arr % 4 == 0
Then we just apply this selection and plot the points, as shown in the following code snippet:
lena1 = lena.copy() xindices = get_indices(lena.shape[0]) yindices = get_indices(lena.shape[1]) lena1[xindices, yindices] = 0 plt.subplot(211) plt.imshow(lena1)
Select array values between a quarter and three-quarters of the maximum value, and set them to
0
, as shown in the...