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.