learn-python/contrib/numpy/reshape-array.md

1.6 KiB

Numpy Array Shape and Reshape

In NumPy, the primary data structure is the ndarray (N-dimensional array). An array can have one or more dimensions, and it organizes your data efficiently.

Code to create a 2D array

import numpy as np

numbers = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
print(numbers)

# Output:
# array([[1, 2, 3, 4],[5, 6, 7, 8]])

Changing Array Shape using Reshape()

The reshape() function allows you to rearrange the data within a NumPy array. It take 2 arguements, row and columns. The reshape() can add or remove the dimensions. For instance, array can convert a 1D array into a 2D array or vice versa.

arr_1d = np.array([1, 2, 3, 4, 5, 6]) # 1D array
arr_2d = arr_1d.reshape(2, 3) # Reshaping with 2rows and 3cols

print(arr_2d)

# Output:
# array([[1, 2, 3],[4, 5, 6]])

Changing Array Shape using Resize()

The resize() function allows you to modify the shape of a NumPy array directly. It take 2 arguements, row and columns.

import numpy as np
arr_1d = np.array([1, 2, 3, 4, 5, 6])

arr_1d.resize((2, 3)) # 2rows and 3cols
print(arr_1d)

# Output:
# array([[1, 2, 3],[4, 5, 6]])

Reshape() VS Resize()

Reshape Resize
Does not modify the original array Modifies the original array in-place
Creates a new array Changes the shape of the array
Returns a reshaped array Doesn't return anything
Compatibility between dimensions Does not compatibility between dimensions
Syntax: reshape(row,col) Syntax: resize((row,col))