Reshaping arrays helps us change the shape of data without changing its content. This is useful to prepare data for analysis or visualization.
Why reshaping arrays matters in NumPy
import numpy as np # Reshape an array reshaped_array = original_array.reshape(new_shape)
The total number of elements must stay the same before and after reshaping.
Use -1 in new_shape to let numpy calculate the correct size automatically for that dimension.
import numpy as np # Original array with 6 elements original_array = np.array([1, 2, 3, 4, 5, 6]) # Reshape to 2 rows and 3 columns reshaped_array = original_array.reshape(2, 3) print(reshaped_array)
import numpy as np # Original array with 6 elements original_array = np.array([1, 2, 3, 4, 5, 6]) # Use -1 to automatically calculate columns reshaped_array = original_array.reshape(3, -1) print(reshaped_array)
import numpy as np # Empty array empty_array = np.array([]) # Reshape empty array to (0, 3) reshaped_empty = empty_array.reshape(0, 3) print(reshaped_empty)
import numpy as np # Single element array single_element_array = np.array([42]) # Reshape to (1, 1) reshaped_single = single_element_array.reshape(1, 1) print(reshaped_single)
This program shows how to reshape a 1D array into different 2D shapes. It prints the original array and its shape, then reshapes it to 3 rows and 4 columns, and finally reshapes it to 2 rows with automatic column calculation.
import numpy as np # Create a 1D array with 12 elements original_array = np.arange(1, 13) print("Original array:") print(original_array) print("Shape:", original_array.shape) # Reshape to 3 rows and 4 columns reshaped_array = original_array.reshape(3, 4) print("\nReshaped array (3x4):") print(reshaped_array) print("Shape:", reshaped_array.shape) # Reshape to 2 rows and let numpy calculate columns reshaped_auto = original_array.reshape(2, -1) print("\nReshaped array (2x?):") print(reshaped_auto) print("Shape:", reshaped_auto.shape)
Reshaping does not change the data, only how it is viewed.
Time complexity is O(1) because no data copying happens, just a new view.
Common mistake: Trying to reshape to a shape with a different total number of elements causes an error.
Use reshaping to prepare data for functions that expect specific input shapes.
Reshaping changes the shape of data without changing its content.
Use -1 to let numpy calculate one dimension automatically.
Always ensure total elements stay the same before and after reshaping.