Appending values at the end of an NumPy array
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() and numpy.concatenate(). This function can help us to append a single value as well as multiple values at the end of the array. In this article, we will also see how to append elements to the NumPy array.
Appending Values at the End of an NumPy Array
Below are the ways by which we can append values at the end of a NumPy Array in Python:
- Appending a Single Value to a 1D Array
- Appending Another Array at the End of a 1D Array
- Appending Values at the End Using Concatenation
- Appending with a Different Array Type
- Appending Using List Comprehension and
numpy.concatenate
- Appending Values at the End of the N-Dimensional Array
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 Using Concatenation
In this example, two 2D arrays, arr1
and arr2
, are vertically stacked using np.concatenate()
along the 0th axis, resulting in a combined 2D array.
Python3
# importing the module import numpy as np arr1 = np.array([[ 1 , 2 ], [ 3 , 4 ]]) arr2 = np.array([[ 5 , 6 ]]) combined = np.concatenate((arr1, arr2), axis = 0 ) print (combined) |
Output:
[[1 2]
[3 4]
[5 6]]
Appending with a Different Array Type
In this example, a 1D integer array arr
and a 1D float array arr_float
are appended together using np.append()
, resulting in an upcasted float array as the output.
Python3
# importing the module import numpy as np arr = np.array([ 1 , 2 , 3 ]) arr_float = np.array([ 4.0 , 5.0 ]) combined = np.append(arr, arr_float) print (combined) # Output: [1. 2. 3. 4. 5.] |
Output:
[1. 2. 3. 4. 5.]
Appending Using List Comprehension and numpy.concatenate
In this example, multiple arrays, including arr
and two arrays from values_to_append
, are concatenated using list comprehension and np.concatenate()
, producing a single combined array.
Python3
# importing the module import numpy as np arr = np.array([ 1 , 2 , 3 , 4 , 5 ]) values_to_append = [np.array([ 6 , 7 ]), np.array([ 8 , 9 ])] combined = np.concatenate([arr] + values_to_append) print (combined) |
Output:
[1 2 3 4 5 6 7 8 9]
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]]