Numpy row_stack() Function



The Numpy row_stack() function is used to stack 1D or 2D arrays as rows into a 2D array. This function is defined in the numpy module and is useful for stacking multiple 1D arrays as rows in a new 2D array, or for concatenating two 2D arrays along the first axis (vertically) if they have compatible shapes.

The numpy.row_stack() function stacks 1D arrays into rows of a 2D array, resulting in an array with shape (m, n), where m is the number of arrays and n is the length of the arrays. When used with 2D arrays, it behaves like numpy.vstack(), stacking the arrays along the first axis as long as they have compatible dimensions along other axes.

Numpy Rows Stack

Syntax

Following is the syntax of the numpy.row_stack() function −

numpy.row_stack(arrays)

Parameters

Following are the parameters of the Numpy row_stack() function −

  • arrays - A sequence of 1D or 2D arrays. For 1D arrays, all must have the same length. For 2D arrays, they must have the same shape along all but the first axis.

Return Values

The function returns a 2D array with each input array stacked as a row in the output.

Example

Following is an basic example demonstrates stacking two 1D arrays as rows using Numpy row_stack() function −

import numpy as np
my_Array1 = np.array([10, 20, 30])
my_Array2 = np.array([40, 50, 60])
row_stacked_array = np.row_stack((my_Array1, my_Array2))
print("Array 1 -", my_Array1)
print("Array 2 -", my_Array2)
print("Row Stacked Array -\n", row_stacked_array)

Output

The output of the above code is as follows:

Array 1 - [10 20 30]
Array 2 - [40 50 60]
Row Stacked Array -
 [[10 20 30]
  [40 50 60]]

Example - Stacking 2D Arrays

In the following example, we stack two 2D arrays with matching shapes along the columns using numpy.row_stack(). The arrays will be concatenated along the first axis, resulting in a 2D array −

import numpy as np
my_Array1 = np.array([[29, 73], [16, 34]])
my_Array2 = np.array([[64, 82], [53, 99]])
row_stacked_array = np.row_stack((my_Array1, my_Array2))
print("Array 1 -\n", my_Array1)
print("Array 2 -\n", my_Array2)
print("Row Stacked Array -\n", row_stacked_array)

Output

The output of the above code is as follows:

Array 1 -
 [[29 73]
 [16 34]]
Array 2 -
 [[64 82]
 [53 99]]
Row Stacked Array -
 [[29 73]
 [16 34]
 [64 82]
 [53 99]]

Example - Stacking Arrays with Different Shapes

If the input arrays have incompatible shapes, such as mismatched lengths for 1D arrays or different shapes along other axes for 2D arrays, numpy.row_stack() will raise a ValueError. In the following example, we attempt to stack arrays of incompatible shapes:

import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5])
try:
    row_stacked_array = np.row_stack((array1, array2))
except ValueError as e:
    print("ValueError:", e)

Output

The output of the above code is as follows:

ValueError: all input arrays must have the same shape along all but the first axis
numpy_array_manipulation.htm
Advertisements