numpy.insert() in Python
Last Updated :
28 Mar, 2022
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
import numpy as geek
arr = geek.arange( 5 )
print (" 1D arr : \n", arr)
print ("Shape : ", arr.shape)
a = geek.insert(arr, 1 , 9 )
print ("\nArray after insertion : ", a)
print ("Shape : ", a.shape)
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
import numpy as geek
arr = geek.arange( 12 ).reshape( 3 , 4 )
print (" 2D arr : \n", arr)
print ("Shape : ", arr.shape)
a = geek.insert(arr, [ 1 ], [[ 6 ],[ 9 ],], axis = 0 )
print ("\nArray after insertion : \n", a)
print ("Shape : ", a.shape)
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
import numpy as geek
arr = geek.arange( 6 ).reshape( 2 , 3 )
print (" 1D arr : \n", arr)
print ("Shape : ", arr.shape)
a = geek.insert(arr, ( 2 , 4 ), 9 )
print ("\nInsertion at two points : ", a)
print ("Shape : ", a.shape)
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.
Share your thoughts in the comments
Please Login to comment...