Select elements from 2D NumPy array using integer Indexing
Integer Indexing with Broadcasting:
Write a NumPy program that creates a 2D NumPy array and uses integer indexing with broadcasting to select elements from specific rows and all columns.
Sample Solution:
Python Code:
import numpy as np
# Create a 2D NumPy array of shape (5, 5) with random integers
array_2d = np.random.randint(0, 100, size=(5, 5))
# Define the row indices to select specific rows
row_indices = np.array([1, 3])
# Use integer indexing with broadcasting to select elements from specific rows and all columns
selected_elements = array_2d[row_indices[:, np.newaxis], np.arange(array_2d.shape[1])]
# Print the original array and the selected elements
print('Original 2D array:\n', array_2d)
print('Selected rows:\n', row_indices)
print('Selected elements from specific rows and all columns:\n', selected_elements)
Output:
Original 2D array: [[29 88 36 92 36] [11 23 6 57 79] [55 24 17 29 82] [96 61 85 34 75] [67 61 86 34 37]] Selected rows: [1 3] Selected elements from specific rows and all columns: [[11 23 6 57 79] [96 61 85 34 75]]
Explanation:
- Import libraries:
- Imported numpy as np for array creation and manipulation.
- Create 2D NumPy Array:
- Create a 2D NumPy array named array_2d with random integers ranging from 0 to 99 and a shape of (5, 5).
- Define row indices:
- Defined row_indices array to specify the rows from which to select elements.
- Integer Indexing with Broadcasting:
- Used integer indexing with broadcasting to select elements from the specified rows and all columns. This was done by combining row_indices with np.arange to select all columns.
- Print Results:
- Print the original 2D array, the row indices, and the selected elements to verify the indexing operation.
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