Open In App

numpy.insert() in Python

Improve
Improve
Like Article
Like
Save
Share
Report

The numpy.insert() function inserts values along the mentioned axis before the given indices. Syntax : 

numpy.insert(array, object, values, axis = None)

Parameters : 

array   : [array_like]Input array. 
object  : [int, array of ints]Sub-array with the index or indices before 
     which values is inserted
values  : [array_like]values to be added in the arr. Values should be 
     shaped so that arr[...,obj,...] = values. If the type of values is different from 
     that of arr, values is converted to the type of arr
axis    : Axis along which we want to insert the values. By default, it 
     object is applied to flattened array    

Return : 

An copy of array with values being inserted as per the mentioned object along a given axis. 

Code 1 : Deletion from 1D array 

Python




# Python Program illustrating
# numpy.insert()
 
import numpy as geek
 
#Working on 1D
arr = geek.arange(5)
print("1D arr : \n", arr)
print("Shape : ", arr.shape)
 
# value = 9
# index = 1  
# Insertion before first index
a = geek.insert(arr, 1, 9)
print("\nArray after insertion : ", a)
print("Shape : ", a.shape)
 
 
# Working on 2D array
arr = geek.arange(12).reshape(3, 4)
print("\n\n2D arr : \n", arr)
print("Shape : ", arr.shape)
 
a = geek.insert(arr, 1, 9, axis = 1)
print("\nArray after insertion : \n", a)
print("Shape : ", a.shape)


Output : 

1D arr : 
 [0 1 2 3 4]
Shape :  (5,)

Array after insertion :  [0 9 1 2 3 4]
Shape :  (6,)


2D arr : 
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
Shape :  (3, 4)

Array after insertion : 
 [[ 0  9  1  2  3]
 [ 4  9  5  6  7]
 [ 8  9  9 10 11]]
Shape :  (3, 5)

Code 2 : Working with Scalars 

Python




# Python Program illustrating
# numpy.insert()
 
import numpy as geek
 
# Working on 2D array
arr = geek.arange(12).reshape(3, 4)
print("2D arr : \n", arr)
print("Shape : ", arr.shape)
 
# Working with Scalars
a = geek.insert(arr, [1], [[6],[9],], axis = 0)
print("\nArray after insertion : \n", a)
print("Shape : ", a.shape)
 
# Working with Scalars
a = geek.insert(arr, [1], [[8],[7],[9]], axis = 1)
print("\nArray after insertion : \n", a)
print("Shape : ", a.shape)


Output : 

2D arr : 
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
Shape :  (3, 4)

Array after insertion : 
 [[ 0  1  2  3]
 [ 6  6  6  6]
 [ 9  9  9  9]
 [ 4  5  6  7]
 [ 8  9 10 11]]
Shape :  (5, 4)

Array after insertion : 
 [[ 0  8  1  2  3]
 [ 4  7  5  6  7]
 [ 8  9  9 10 11]]
Shape :  (3, 5)

Code 3 : Insertion at different points 

Python




# Python Program illustrating
# numpy.insert()
 
import numpy as geek
 
#Working on 1D
arr = geek.arange(6).reshape(2, 3)
print("1D arr : \n", arr)
print("Shape : ", arr.shape)
 
# value = 9
# index = 1  
# Insertion before first index
a = geek.insert(arr, (2, 4), 9)
print("\nInsertion at two points : ", a)
print("Shape : ", a.shape)
 
 
# Working on 2D array
arr = geek.arange(12).reshape(3, 4)
print("\n\n2D arr : \n", arr)
print("Shape : ", arr.shape)
a = geek.insert(arr, (0, 3), 66, axis = 1)
print("\nInsertion at two points : \n", a)
print("Shape : ", a.shape)


Output : 

1D arr : 
 [[0 1 2]
 [3 4 5]]
Shape :  (2, 3)

Insertion at two points :  [0 1 9 2 3 9 4 5]
Shape :  (8,)


2D arr : 
 [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
Shape :  (3, 4)

Insertion at two points : 
 [[66  0  1  2 66  3]
 [66  4  5  6 66  7]
 [66  8  9 10 66 11]]
Shape :  (3, 6)

References : https://docs.scipy.org/doc/numpy/reference/generated/numpy.insert.html#numpy.insert Note : These codes won’t run on online IDE’s. Please run them on your systems to explore the working.



Last Updated : 28 Mar, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads