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

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]]