numpy.insert() in Python
Last Updated :
28 Mar, 2022
Improve
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 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 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 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.