Appending values at the end of an NumPy array (original) (raw)
Last Updated : 28 Dec, 2023
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
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 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
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
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.]
**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
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
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]]