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
# importing the module import numpy as np # creating an array arr = np.array([ 1 , 8 , 3 , 3 , 5 ]) print ( 'Original Array : ' , arr) # appending to the array 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
# importing the module import numpy as np # creating an array arr1 = np.array([ 1 , 2 , 3 ]) print ( 'First array is : ' , arr1) # creating another array arr2 = np.array([ 4 , 5 , 6 ]) print ( 'Second array is : ' , arr2) # appending arr2 to arr1 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
# importing the module import numpy as np # create an array arr = np.arange( 1 , 13 ).reshape( 2 , 6 ) print ( 'Original Array' ) print (arr, '\n' ) # create another array which is # to be appended column-wise 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' ) # create an array which is # to be appended row wise 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]]