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
# 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.