NumPy concatenate()

The NumPy concatenate() method joins a sequence of arrays along an existing axis.

Example

 import numpy as np array1 = np.array([[0, 1], [2, 3]]) array2 = np.array([[4, 5], [6, 7]]) 
# join the arrays
concatenatedArray = np.concatenate((array1, array2))
print(concatenatedArray) ''' Output: [[0 1] [2 3] [4 5] [6 7]] '''

concatenate() Syntax

The syntax of concatenate() is:

 numpy.concatenate((array1, array2, …), axis, out)

concatenate() Arguments

The concatenate() method takes the following arguments:

  • (array1, array2, …) - the sequence of arrays to be joined
  • axis (optional)- defines the dimension in which the arrays are joined
  • out (optional) - destination to store the result.
  • dtype (optional) - datatype of the resultant array

Notes:

  • All the input arrays' dimensions except for the concatenation axis must match exactly.
  • Only one of out and dtype arguments can be passed.

concatenate() Return Value

The concatenate() method returns the joined array.


Example 1: Concatenate Two Arrays

 import numpy as np array1 = np.array( [ [1, 2], [3, 4] ] ) array2 = np.array( [[5, 6]] ) 
# concatenate the arrays along axis 0 concatenatedArray = np.concatenate((array1, array2))
print(concatenatedArray)
# concatenate the arrays along axis 0 concatenatedArray = np.concatenate((array1, array2), axis = 0)
print(concatenatedArray)

Output

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

If we do not pass the axis argument, the value of axis will be 0 by default.


Example 2: Concatenate Two Arrays in Different Dimensions

 import numpy as np array1 = np.array([[[0, 1], [2, 3]], [[4, 5], [6, 7]]]) array2 = np.array([[[10, 11], [12, 13]], [[14, 15], [16, 17]]]) print('Joining the array when axis = 0') 
# join the arrays at axis equal to 0 concatenatedArray = np.concatenate((array1, array2), 0) print(concatenatedArray)
print('Joining the array when axis = 1')
# join the array at axis equal to 1 concatenatedArray = np.concatenate((array1, array2), 1) print(concatenatedArray)
print('Joining the array when axis = 2')
# join the array at axis equal to 2 concatenatedArray = np.concatenate((array1, array2), 2) print(concatenatedArray)

Output

 Joining the array when axis = 0 [[[ 0 1] [ 2 3]] [[ 4 5] [ 6 7]] [[10 11] [12 13]] [[14 15] [16 17]]] Joining the array when axis = 1 [[[ 0 1] [ 2 3] [10 11] [12 13]] [[ 4 5] [ 6 7] [14 15] [16 17]]] Joining the array when axis = 2 [[[ 0 1 10 11] [ 2 3 12 13]] [[ 4 5 14 15] [ 6 7 16 17]]]

Example 3: Concatenate Flattened Arrays

If we pass None as the axis argument, concatenate() flattens the arrays and concatenates them.

 import numpy as np array1 = np.array([[0, 1], [2, 3]]) array2 = np.array([[10, 11], [12, 13]]) 
# join the flat arrays concatenatedArray = np.concatenate((array1, array2), None)
print(concatenatedArray)

Output

 [ 0 1 2 3 10 11 12 13]

Note: We can also use numpy.append() to concatenate arrays. However, unlike numpy.concatenate, numpy.append creates a new copy with appended values, making it less efficient.


Example 4: Return an Existing Array as Concatenated Array

In our previous examples, concatenate() created a new array as a result.

However, passing an existing array as the

 out
argument stores the resultant array as the given array.
 import numpy as np array1 = np.array([[0, 1], [2, 3]]) array2 = np.array([[10, 11], [12, 13]]) # create an array of shape (4, 2) # and initialize all elements to 0 array3 = np.zeros((4, 2)) 
# join the arrays and store result in array3 np.concatenate((array1, array2), out = array3)
print(array3)
Output
 [[ 0. 1.] [ 2. 3.] [10. 11.] [12. 13.]]

Notes:

  • The shape of the output array must match the shape of the concatenated array otherwise, we will get an error.
  • All the input array dimensions remain the same (except for the concatenation axis).

Example 5: Specify the Datatype of a Concatenated Array

We can change the data type of concatenated array by passing the dtype argument.

 import numpy as np array1 = np.array([[0, 1], [2, 3]]) array2 = np.array([[10, 11], [12, 13]]) 
# change elements of the concatenated array to string concatenatedArray = np.concatenate((array1, array2), dtype = str)
print(concatenatedArray)

Output

 [['0' '1'] ['2' '3'] ['10' '11'] ['12' '13']]

Related NumPy Methods

Our premium learning platform, created with over a decade of experience and thousands of feedbacks.

Learn and improve your coding skills like never before.

Try Programiz PRO
  • Interactive Courses
  • Certificates
  • AI Help
  • 2000+ Challenges