diff --git a/contrib/numpy/array_reshape.md b/contrib/numpy/array_reshape.md new file mode 100644 index 0000000..d3d7f59 --- /dev/null +++ b/contrib/numpy/array_reshape.md @@ -0,0 +1,54 @@ +# 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 +``` python +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. + +``` python +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. + +``` python +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)) |