NumPy - delete() function
The NumPy delete() function returns a new array with sub-arrays along an axis deleted. For a one dimensional array, this returns those entries not returned by arr[obj].
Syntax
numpy.delete(arr, obj, axis=None)
Parameters
arr |
Required. Specify the input array (array_like). |
obj |
Required. Specify indices of sub-arrays to remove along the specified axis. It can be slice, int or array of ints. |
axis |
Optional. Specify the axis along which to delete the subarray defined by obj. If axis is None, obj is applied to the flattened array. |
Return Value
Returns a copy of arr with the elements specified by obj removed..
Example:
In the example below, delete() function is used to delete a given object from an array.
import numpy as np Arr = np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]]) #deleteing 3rd element (axis=None) Arr1 = np.delete(Arr, 2) #deleteing 2nd row Arr2 = np.delete(Arr, 1, 0) #deleteing 2nd column Arr3 = np.delete(Arr, 1, 1) #displaying results print("Arr is:") print(Arr) print("\nArr1 is (delete with axis=None):") print(Arr1) print("\nArr2 is (delete with axis=0):") print(Arr2) print("\nArr3 is (delete with axis=1):") print(Arr3)
The output of the above code will be:
Arr is: [[10 20 30] [40 50 60] [70 80 90]] Arr1 is (delete with axis=None): [10 20 40 50 60 70 80 90] Arr2 is (delete with axis=0): [[10 20 30] [70 80 90]] Arr3 is (delete with axis=1): [[10 30] [40 60] [70 90]]
Example:
In the example below, delete() function is used to delete a number of rows/columns from an array.
import numpy as np Arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]) #deleteing 2nd and 3rd rows Arr1 = np.delete(Arr, [1, 2], axis=0) #deleteing 2nd and 3rd columns Arr2 = np.delete(Arr, [1, 2], axis=1) #displaying results print("Arr is:") print(Arr) print("\nArr1 is (delete with axis=0):") print(Arr1) print("\nArr2 is (delete with axis=1):") print(Arr2)
The output of the above code will be:
Arr is: [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16]] Arr1 is (delete with axis=0): [[ 1 2 3 4] [13 14 15 16]] Arr2 is (delete with axis=1): [[ 1 4] [ 5 8] [ 9 12] [13 16]]
Example:
Similary a slice() function can be used to specify rows/columns to delete from an array.
import numpy as np Arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]) #deleteing alternate rows Arr1 = np.delete(Arr, slice(None, None, 2), axis=0) #deleteing alternate columns Arr2 = np.delete(Arr, slice(None, None, 2), axis=1) #displaying results print("Arr is:") print(Arr) print("\nArr1 is (delete with axis=0):") print(Arr1) print("\nArr2 is (delete with axis=1):") print(Arr2)
The output of the above code will be:
Arr is: [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16]] Arr1 is (delete with axis=0): [[ 5 6 7 8] [13 14 15 16]] Arr2 is (delete with axis=1): [[ 2 4] [ 6 8] [10 12] [14 16]]
❮ NumPy - Functions