Reference Materials
Certification Courses
Created with over a decade of experience and thousands of feedback.
NumPy append()
In this tutorial, you will learn about the numpy.append() method with the help of examples.
The append() method adds the values at the end of a NumPy array.
Example
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
# append array2 to array1
array3 = np.append(array1, array2)
print(array3)
# Output : [1 2 3 4 5 6]
append() Syntax
The syntax of append() is:
numpy.append(array, values, axis)
append() Arguments
The append() method takes three arguments:
array- original arrayvalues- the array to be appended at the end of the original arrayaxis- the axis along which the values are appended
Note: If axis is None, the array is flattened and appended.
append() Return Value
The append() method returns a copy of the array with values appended.
Example 1: Append an Array
import numpy as np
array1 = np.array([0, 1, 2, 3])
array2 = np.array([4, 5, 6, 7])
# append values to an array
array3 = np.append(array1, array2)
print(array3)
Output
[0 1 2 3 4 5 6 7]
Example 2: Append Array Along Different Axes
We can pass axis as the third argument to the append() method. The axis argument determines the dimension at which a new array needs to be appended (in the case of multidimensional arrays).
import numpy as np
array1 = np.array([[0, 1], [2, 3]])
array2 = np.array([[4, 5], [6, 7]])
# append array2 to array1 along axis 0
array3 = np.append(array1, array2, 0)
# append array2 to array1 along axis 1
# specifying axis argument explicitly
array4 = np.append(array1, array2, axis = 1)
# append array2 to array1 after flattening
array5 = np.append(array1, array2, None)
print('\nAlong axis 0 : \n', array3)
print('\nAlong axis 1 : \n', array4)
print('\nAfter flattening : \n', array5)
Output
Along axis 0 : [[0 1] [2 3] [4 5] [6 7]] Along axis 1 : [[0 1 4 5] [2 3 6 7]] After flattening : [0 1 2 3 4 5 6 7]
Example 3: Append Arrays of Different Dimensions
The append() method can append arrays of different dimensions. However, the similar method concatenate() can't.
Let's look at an example.
import numpy as np
# create 2 arrays with different dimensions
a = np.array([1, 2, 3])
b = np.array([[4, 5], [6, 7]])
# append b to a using np.append()
c = np.append(a,b)
print(c)
# concatenate a and b using np.concatemate()
c = np.concatenate((a, b))
print(c)
Output
[1 2 3 4 5 6 7] ValueError: all the input arrays must have the same number of dimensions
Note: numpy.append() is more flexible than np.concatenate() as it can append a scalar or a 1D array to a higher-dimensional array. However, when dealing with arrays of the same shape, np.concatenate() is more memory efficient.