numpy.insert() in Python
The numpy.insert() function inserts values along the mentioned axis before the given indices.
Syntax :
numpy.insert(array, object, values, axis = None)
Parameters :
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course
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 1Darr = geek.arange(5)print("1D arr : \n", arr)print("Shape : ", arr.shape) # value = 9# index = 1 # Insertion before first indexa = 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 Scalarsa = geek.insert(arr, [1], [[6],[9],], axis = 0)print("\nArray after insertion : \n", a)print("Shape : ", a.shape) # Working with Scalarsa = 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 1Darr = geek.arange(6).reshape(2, 3)print("1D arr : \n", arr)print("Shape : ", arr.shape) # value = 9# index = 1 # Insertion before first indexa = 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-ID. Please run them on your systems to explore the working.
This article is contributed by Mohit Gupta_OMG 😀. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.


