Let us see how to append values at the end of a NumPy array. Adding values at the end of the array is a necessary task especially when the data is not fixed and is prone to change. For this task we can use numpy.append(). This function can help us to append a single value as well as multiple values at the end of the array.
Syntax : numpy.append(array, values, axis = None)
Appending a single value to a 1D array.
For a 1D array, using the axis argument is not necessary as the array is flattened by default.
python3
import numpy as np
arr = np.array([ 1 , 8 , 3 , 3 , 5 ])
print ( 'Original Array : ' , arr)
arr = np.append(arr, [ 7 ])
print ( 'Array after appending : ' , arr)
|
Output :
Original Array : [1 8 3 3 5]
Array after appending : [1 8 3 3 5 7]
Appending another array at the end of a 1D array
You may pass a list or an array to the append function, the result will be the same.
python3
import numpy as np
arr1 = np.array([ 1 , 2 , 3 ])
print ( 'First array is : ' , arr1)
arr2 = np.array([ 4 , 5 , 6 ])
print ( 'Second array is : ' , arr2)
arr = np.append(arr1, arr2)
print ( 'Array after appending : ' , arr)
|
Output :
First array is : [1 2 3]
Second array is : [4 5 6]
Array after appending : [1 2 3 4 5 6]
Appending values at the end of the n-dimensional array
It is important that the dimensions of both the array matches otherwise it will give an error.
python3
import numpy as np
arr = np.arange( 1 , 13 ).reshape( 2 , 6 )
print ( 'Original Array' )
print (arr, '\n' )
col = np.arange( 5 , 11 ).reshape( 1 , 6 )
print ( 'Array to be appended column wise' )
print (col)
arr_col = np.append(arr, col, axis = 0 )
print ( 'Array after appending the values column wise' )
print (arr_col, '\n' )
row = np.array([ 1 , 2 ]).reshape( 2 , 1 )
print ( 'Array to be appended row wise' )
print (row)
arr_row = np.append(arr, row, axis = 1 )
print ( 'Array after appending the values row wise' )
print (arr_row)
|
Output :
Original Array
[[ 1 2 3 4 5 6]
[ 7 8 9 10 11 12]]
Array to be appended column wise
[[ 5 6 7 8 9 10]]
Array after appending the values column wise
[[ 1 2 3 4 5 6]
[ 7 8 9 10 11 12]
[ 5 6 7 8 9 10]]
Array to be appended row wise
[[1]
[2]]
Array after appending the values row wise
[[ 1 2 3 4 5 6 1]
[ 7 8 9 10 11 12 2]]