Reference Materials
Certification Courses
Created with over a decade of experience and thousands of feedback.
NumPy insert()
In this tutorial, you will learn about the numpy.insert() method with the help of examples.
The insert() method adds the values along the given axis at specified indices.
Example
import numpy as np
# create an array
numbers = np.array([0, 1, 3, 4])
# insert 4 at index 2
array2 = np.insert(numbers, 2, 4)
print(array2)
# Output : [0 1 4 3 4]
Here, the insert() method inserted a new item 4 to the index 2, and shifted the previous item to the next index.
insert() Syntax
The syntax of insert() is:
numpy.insert(array, obj, values, axis)
insert() Arguments
The insert() method takes four arguments:
array- original arrayobj- indices at which values are insertedvalues- the array to be inserted at the given positionaxis(optional) - the axis along which the values are inserted
insert() Return Value
The insert() method returns an array with values inserted.
Example 1: Insert an Array at Given Index
import numpy as np
array1 = np.array([0, 1, 2, 3])
array2 = np.array([4, 5, 6, 7])
# insert values from array2 to array1 before index 2
array3 = np.insert(array1, 2, array2)
print(array3)
Output
[0 1 4 5 6 7 2 3]
Example 2: Insert an Array Element at Different Indices
We can insert different values at different indices.
import numpy as np
array1 = np.array([0, 1, 2, 3])
array2 = np.array([4, 5, 6, 7])
# insert values from array2 to array1 before given indices
array3 = np.insert(array1, [2, 3, 2, 1], array2)
print(array3)
Output
[0 7 1 4 6 2 5 3]
Note: When passing a sequence as obj, the size of the sequence should match the size of the values. For example, when inserting 4 values, 4 indices should be provided.
Example 3: Insert into a 2-D Array Before Given Index
Similar to a 1-D array, values can be inserted to a 2-D array at any index along any axis.
import numpy as np
array1 = np.array([[0, 1], [2, 3]])
array2 = np.array([4, 5])
# insert values to an array before index 2
array3 = np.insert(array1, 2, array2)
print('\nInsert to 2D array at index 2\n', array3)
# insert values to an array before index 2 along axis 0
array4 = np.insert(array1, 2, array2, 0)
print('\nInsert to 2D array at row 2\n', array4)
# insert values to an array before index 2 along axis 1
array5 = np.insert(array1, 2, array2, 1)
print('\nInsert to 2D array at column 2\n', array5)
Output
Insert to 2D array at index 2 [0 1 4 5 2 3] Insert to 2D array at row 2 [[0 1] [2 3] [4 5]] Insert to 2D array at column 2 [[0 1 4] [2 3 5]]
Note: If the axis is not provided, the array is flattened.
Example 3: Insert into a 2-D array Before Given Indices
import numpy as np
array1 = np.array([[0, 1], [2, 3]])
array2 = np.array([4, 5])
# insert elements from array2 before indices 0 and 1 of array1
array3 = np.insert(array1, [0, 1], array2)
print('\nInsert to 2D array before indices 0 and 1\n', array3)
# insert elements from array2 before row 0 and row 1 of array1 along axis 0
array4 = np.insert(array1, [0, 1], array2, axis=0)
print('\nInsert to 2D array before row 0 and row 1 along axis 0\n', array4)
# insert elements from array2 before column 0 and column 1 of array1 along axis 1
array5 = np.insert(array1, [0, 1], array2, axis=1)
print('\nInsert to 2D array before column 0 and column 1 along axis 1\n', array5)
Output
Insert to 2D array before indices 0 and 1 [4 0 5 1 2 3] Insert to 2D array before row 0 and row 1 along axis 0 [[4 5] [0 1] [4 5] [2 3]] Insert to 2D array before column 0 and column 1 along axis 1 [[4 0 5 1] [4 2 5 3]]