Create a Masked array and Mask a row in NumPy
NumPy: Masked Arrays Exercise-8 with Solution
Write a NumPy program to create a masked array from a 2D NumPy array and mask all values in a specified row.
Sample Solution:
Python Code:
import numpy as np
import numpy.ma as ma
# Create a 2D NumPy array of shape (4, 4) with random integers
array_2d = np.random.randint(0, 10, size=(4, 4))
# Specify the row to mask
row_to_mask = 2
# Create a masked array from the 2D array and mask all values in the specified row
masked_array = ma.masked_array(array_2d, mask=np.zeros_like(array_2d, dtype=bool))
masked_array[row_to_mask] = ma.masked
# Print the original array and the masked array
print('Original 2D array:\n', array_2d)
print('Masked array (with row {} masked):\n'.format(row_to_mask), masked_array)
Output:
Original 2D array: [[5 4 4 0] [0 1 3 2] [6 7 5 1] [5 7 3 2]] Masked array (with row 2 masked): [[5 4 4 0] [0 1 3 2] [-- -- -- --] [5 7 3 2]]
Explanation:
- Import Libraries:
- Imported numpy as "np" for array creation and manipulation.
- Imported numpy.ma as "ma" for creating and working with masked arrays.
- Create 2D NumPy Array:
- Create a 2D NumPy array named 'array_2d' with random integers ranging from 0 to 9 and a shape of (4, 4).
- Specify Row to Mask:
- Specify the row index to mask, which is 2 in this example.
- Create Masked Array:
- Create a masked array from the 2D array using ma.masked_array. Initially, set the mask to be an array of False values with the same shape as the original array.
- Masked all values in the specified row by setting the mask for that row to True.
- Print the original 2D array and the masked array with the specified row masked.
Python-Numpy Code Editor:
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics