# Numpy Arrays ## Numpy Arrays ### Broadcasting Arrays ### Reshaping Arrays > This concept basically boils down to: > “We can expand a list that contains a single value, but we don’t know what to do with a single value itself.” ### Indexing and Slicing in Higher Dimensions ```python import numpy as np data = np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]]) row_indices = np.arange(3)[:, np.newaxis] # Shape (3, 1) # Extract diagonal elements using row_indices and column indices diagonal = data[row_indices, row_indices] # Output: array([10, 50, 90]) print(diagonal) ```