# numpy.reshape() in Python | np.reshape() in Python

It is used to reshape Numpy array without modifying the original array. This function returns a new array with the specified shape. You can use `reshape()` function in two ways-

## 1. reshape() function in numpy module

`numpy.reshape(array, newshape)`

`array` parameter refers to the array that you want to reshape.

`newshape` parameter is used to specify the new shape. You provide either integer value or a tuple. When you specify newshape in the form of tuple like this `(x, y)` then `x` represents rows and `y` represents columns.

Let's understand it with the help of an example-

```import numpy as np

a = np.array([[5, 6, 7], [8, 9, 10]])
#Two different ways of passing newshape value to numpy.reshape() function
print(np.reshape(a, 6))#Convert 2-D array to 1-D array
print(np.reshape(a, (3, 2)))#Modifying array a to another 2-D array having 3 rows and 2 columns
print('Original array: \n', a)```

Output of the above program

```[ 5  6  7  8  9 10]
[[ 5  6]
[ 7  8]
[ 9 10]]
Original array:
[[ 5  6  7]
[ 8  9 10]]
```

## 2. reshape() function in numpy.ndarray module

`numpy.ndarray.reshape(newshape)`

`newshape` parameter is used to provide the new shape. You provide integer value, a tuple or comma-separated values.

Let's understand reshape() function that is applied on Numpy array using an example-

```import numpy as np

a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
#Three different ways of passing newshape value to numpy.ndarray.reshape() function
print(a.reshape(8)) #Convert 2-D array to 1-D array
print(a.reshape(4, 2))#Modifying array a to another 2-D array having 4 rows and 2 columns
print(a.reshape((4, 2)))#Modifying array a to another 2-D array having 4 rows and 2 columns
print('Original array: \n', a)```

Output of the above program

```[1 2 3 4 5 6 7 8]
[[1 2]
[3 4]
[5 6]
[7 8]]
[[1 2]
[3 4]
[5 6]
[7 8]]
Original array:
[[1 2 3 4]
[5 6 7 8]]
```