About functioning of the function np.stack()

what does the np.stack() function do eg:x=np.stack((x1,x2),axis=1)

numpy.stack(arrays, axis=0, out=None)
Join a sequence of arrays along a new axis.

The axis parameter specifies the index of the new axis in the dimensions of the result. For example, if axis=0 it will be the first dimension and if axis=-1 it will be the last dimension.

Parameters:
arrays : sequence of array_like
Each array must have the same shape.

axis : int, optional
The axis in the result array along which the input arrays are stacked.

out : ndarray, optional
If provided, the destination to place the result. The shape must be correct, matching that of what stack would have returned if no out argument were specified.

Returns:
stacked : ndarray
The stacked array has one more dimension than the input arrays.

Examples

arrays = [np.random.randn(3, 4) for _ in range(10)]
np.stack(arrays, axis=0).shape
>>>(10, 3, 4)

np.stack(arrays, axis=1).shape
>>>(3, 10, 4)

np.stack(arrays, axis=2).shape
>>>(3, 4, 10)

a = np.array([1, 2, 3])
b = np.array([2, 3, 4]) 
np.stack((a, b))
>>>array([[1, 2, 3],
       [2, 3, 4]])

np.stack((a, b), axis=-1)
>>>array([[1, 2],
       [2, 3],
       [3, 4]])

To give you a better understanding of axis.
Say you have an arr of shape (1,2,3,4) then axis = 0 is stack in rows, axis = 1 is stack in columns and axis = 2 is the third dimension and axis = 3 is the fourth dimension.

Happy Learning :slight_smile:
Thanks

I hope I’ve cleared your doubt. I ask you to please rate your experience here
Your feedback is very important. It helps us improve our platform and hence provide you
the learning experience you deserve.

On the off chance, you still have some questions or not find the answers satisfactory, you may reopen
the doubt.