The numpy insert() method is used to insert a given value in a ndarray before a given index along with the given axis. This means the value will be inserted before the value present in the given index in a given array. If the axis is not mentioned, then an input array is flattened.
The np.insert() is a numpy library function that inserts values in the input array along the given axis and before a given index. If a value type is converted to be inserted, it is different from an input array. Insertion is not in place, and the method returns the new array. Also, an input array is flattened if the axis is not mentioned.
numpy.insert(array, object, values, axis = None)
The numpy.insert() function takes four parameters, those are –
- array -> is the name of the array in which the value to be inserted
- object -> This can be an integer or a list of an array (subarray) before which the given value is to be inserted.
- values -> This is the value that is to be inserted in the array. If the type of value is not the same as the array type, then the value is converted into that type.
- axis -> This is applicable for multidimensional arrays. By default, the value of the axis is None. But, the multidimensional array helps us insert the value in a particular axis.
The insert() method returns a copy of the array with the value inserted as per the mentioned object in a particular axis.
Python Numpy: Insert in a 1D array
See the following code.
# Importing numpy import numpy as np # We will create an 1D array # this will create an array with values 10 to 15 arr1 = np.arange(10, 16) # Printing the array print("The array is: ", arr1) # Printing shape of the array print("Shape of the array is : ", np.shape(arr1)) # Now we will insert a value before the value 12 # See, 4 is present at index 5 obj = 2 value = 40 # Inserting value arr = np.insert(arr1, obj, value, axis=None) # Printing new array print("After inserting the new array is: ") print(arr) print("Shape of the new array is : ", np.shape(arr))
The array is: [10 11 12 13 14 15] Shape of the array is : (6,) After inserting the new array is: [10 11 40 12 13 14 15] Shape of the new array is : (7,)
In this example, we have first created an array of size 6 with values 10-15. Now, we want to insert the value 40 before the value 12. So, we can see that the position of 12 is at index=2, and we want to insert the value at index =2. As a result, the index of 12 will be shifted to index 3, and later values will also be shifted.
We can see in the output that the value 40 is inserted before at index 2, as we gave the value of object =2 and value=40.
Python numpy: Insert in Multidimensional Array
See the following code.
# Importing numpy import numpy as np # We will create a 2D array # Of shape 4x3 arr1 = np.array([(1, 2, 3), (4, 5, 6), (7, 8, 9), (50, 51, 52)]) # Printing the array print("The array is: ") print(arr1) print("The shape of the array is: ", np.shape(arr1)) # Now we will insert values before one particular axis # this will insert two new rows with value # 50 and 100 respectively before the row 1 a = np.insert(arr1, 1, [, , ], axis=0) # printing new array print("New array is : ") print(a) print("Shape of the array is: ", np.shape(a))
The array is: [[ 1 2 3] [ 4 5 6] [ 7 8 9] [50 51 52]] The shape of the array is: (4, 3) New array is : [[ 1 2 3] [ 50 50 50] [100 100 100] [ 4 5 6] [ 7 8 9] [ 50 51 52]] Shape of the array is: (6, 3)
In this example, we can see that we have first initialized an array of size 4×3. Then we wanted to insert values before the second row (index=1).
So, we called insert() and passed the value of object 1, and we wanted to insert two rows with values 50 and 100, so we gave value as a list of [50,100], and axis=0 means row-wise.
Python numpy insert() method inserts a given value in a ndarray before a given index along the given axis. If you don’t specify the axis, then it flattens the ndarray.
That’s it for this tutorial.