Skip to content
Related Articles

Related Articles

Joining NumPy Array

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 01 Oct, 2020
Improve Article
Save Article

NumPy provides various functions to combine arrays. In this article, we will discuss some of the major ones.

Method 1: Using numpy.concatenate()

The concatenate function in NumPy joins two or more arrays along a specified axis. 

Syntax:

numpy.concatenate((array1, array2, ...), axis=0)

The first argument is a tuple of arrays we intend to join and the second argument is the axis along which we need to join these arrays. Check out the following example showing the use of numpy.concatenate.

Python3




import numpy as np
  
array_1 = np.array([1, 2])
array_2 = np.array([3, 4])
  
array_new = np.concatenate((array_1, array_2))
print(array_new)


Output: 

[1 2 4 5]

By default, the value of the axis is set to 0. You can change it by specifying a value for the axis in the second argument. The following code joins two arrays along rows.

Python3




import numpy as np
  
array_1 = np.array([[1, 2], [3, 4]])
array_2 = np.array([[5, 6], [7, 8]])
  
array_new = np.concatenate((array_1, array_2), axis=1)
print(array_new)


Output:

[[1 2 5 6]
 [3 4 7 8]]

Method 2: Using numpy.stack()

The stack() function of NumPy joins two or more arrays along a new axis.

Syntax:

numpy.stack(arrays, axis=0)

The following code demonstrates the use of numpy.stack().

Python3




import numpy as np
  
array_1 = np.array([1, 2, 3, 4])
array_2 = np.array([5, 6, 7, 8])
  
array_new = np.stack((array_1, array_2), axis=1)
print(array_new)


Output:

[[1 5]
 [2 6]
 [3 7]
 [4 8]]

The arrays are joined along a new axis.

Method 3: numpy.block()

numpy.block is used to create nd-arrays from nested blocks of lists.

Syntax:

numpy.block(arrays)

The following example explains the working of numpy.block().

Python3




import numpy as np
  
block_1 = np.array([[1, 1], [1, 1]])
block_2 = np.array([[2, 2, 2], [2, 2, 2]])
block_3 = np.array([[3, 3], [3, 3], [3, 3]])
block_4 = np.array([[4, 4, 4], [4, 4, 4], [4, 4, 4]])
  
block_new = np.block([
    [block_1, block_2],
    [block_3, block_4]
])
  
print(block_new)


Output:

[[1 1 2 2 2]
 [1 1 2 2 2]
 [3 3 4 4 4]
 [3 3 4 4 4]
 [3 3 4 4 4]]

In this example, we assembled a block matrix( block_new ) from 4 separate 2-d arrays (block_1,block_2,block_3,block_4 ).


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!