NumPy append()

The append() method adds the values at the end of a NumPy array.

Example

import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

# append array2 to array1 array3 = np.append(array1, array2)
print(array3) # Output : [1 2 3 4 5 6]

append() Syntax

The syntax of append() is:

numpy.append(array, values, axis)

append() Arguments

The append() method takes three arguments:

  • array - original array
  • values - the array to be appended at the end of the original array
  • axis - the axis along which the values are appended

Note: If axis is None, the array is flattened and appended.


append() Return Value

The append() method returns a copy of the array with values appended.


Example 1: Append an Array

import numpy as np

array1 = np.array([0, 1, 2, 3])
array2 = np.array([4, 5, 6, 7])

# append values to an array array3 = np.append(array1, array2)
print(array3)

Output

[0 1 2 3 4 5 6 7]

Example 2: Append Array Along Different Axes

We can pass axis as the third argument to the append() method. The axis argument determines the dimension at which a new array needs to be appended (in the case of multidimensional arrays).

import numpy as np

array1 = np.array([[0, 1], [2, 3]])
array2 = np.array([[4, 5], [6, 7]])

# append array2 to array1 along axis 0 array3 = np.append(array1, array2, 0) # append array2 to array1 along axis 1 # specifying axis argument explicitly array4 = np.append(array1, array2, axis = 1) # append array2 to array1 after flattening array5 = np.append(array1, array2, None)
print('\nAlong axis 0 : \n', array3) print('\nAlong axis 1 : \n', array4) print('\nAfter flattening : \n', array5)

Output

Along axis 0 : 
[[0 1]
 [2 3]
 [4 5]
 [6 7]]

Along axis 1 : 
 [[0 1 4 5]
 [2 3 6 7]]

After flattening : 
 [0 1 2 3 4 5 6 7]

Example 3: Append Arrays of Different Dimensions

The append() method can append arrays of different dimensions. However, the similar method concatenate() can't.

Let's look at an example.

import numpy as np

# create 2 arrays with different dimensions
a = np.array([1, 2, 3])
b = np.array([[4, 5], [6, 7]])

# append b to a using np.append() c = np.append(a,b) print(c) # concatenate a and b using np.concatemate() c = np.concatenate((a, b)) print(c)

Output

[1 2 3 4 5 6 7]
ValueError: all the input arrays must have the same number of dimensions 

Note: numpy.append() is more flexible than np.concatenate() as it can append a scalar or a 1D array to a higher-dimensional array. However, when dealing with arrays of the same shape, np.concatenate() is more memory efficient.

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community