In this article, we will learn how to remove elements from a Numpy Array by index position.
Table Of Contents
- Using delete() method to delete elements from Numpy Array by Index
- Using delete() method to delete multiple elements from NumPy Array
- Using boolean array to delete elements from NumPy Array by index positions
- Remove elements from NumPy Array Using index array
- Remove elements from NumPy Array by index using setdiff1d() method
Given a NumPy array we need to delete the element at the given index of the array.
Example: Given array = [1 2 3 4 5 6 7] After removing element at index position 2 i.e. the third element: [1 2 4 5 6 7]
There are multiple ways to remove elements from Numpy Array by Index. Lets discuss all the methods one by one with proper approach and a working code example.
Using delete() method to delete elements from Numpy Array by Index
The delete() method is a built-in method in Numpy library and it is used to remove the elements from NumpY Array based on index positions. The delete() method takes following arguments,
- A NumPy Array from which we need to delete the elements
- An index position or an array of indices at which elements need to be deleted.
To delete the 3rd element in the array, to do this we need to pass the given array and the index of the 3rd element to the delete() method. The index of the 3rd element is 2. It will return a new NumPy Array with the elements removed.
Approach
- Import numpy library and create a NumPy Array
- Now pass the given array and the index of 3rd element i.e. 2, to the delete() method.
- Print the array.
Source code
import numpy as np # creating numpy array arr = np.array([1,2,3,4,5,6,7]) # The INDEX of Third element is 2. index = 2 # Removing the Third element using delete() method arr = np.delete(arr, index) print(arr)
OUTPUT:
[1 2 4 5 6 7]
It removed the element at index position2 from the NumPy Array.
Using delete() method to delete multiple elements from NumPy Array
The delete() method is a built-in method in numpy library and it helps in removing the elements from NumPy array based on index positions. In the previous example we deleted only one element by its index position using the delete() function. Now let’s see how we can delete multiple elements from NumPy Array based on index positions.
Approach
- Import numpy library and create a NumPy array
- Create a list which contains the index positions of elements to be deleted.
- Now pass the given array and the index list to the delete() method.
- Print the array.
Source code
import numpy as np # Create a Numpy Array arr = np.array([1,2,3,4,5,6,7]) # List of indices of elements that need to be deleted indexList = [1, 2, 4] # Removing multiple elements based on index positions arr = np.delete(arr, indexList) print(arr)
Output:
[1 4 6 7]
It deleted alements at index position 1, 2 and 4 from the NumPy Array.
Using boolean array to delete elements from NumPy Array by index positions
The elements in a numpy array can be accesed by passing a boolean array as index to the array
Example: arr = [ 1, 3, 5, 8, 9 ] boolArray = [True, True, False, False, False] arr[boolArray] ===> this will give [ 1, 3 ]
Now to remove a element from the array create a boolean array with length same as the array and make all the elements as True except for the element that needs to be deleted. Pass this boolean array as index to the given array. This will give an array with the element removed.
Approach
- import numpy library and create numpy array
- Create a boolean array with length same as the array and make all the elements as True except for the element to be deleted
- Now Pass this boolean array as index to the Given array.
- This will give an array with the element removed.
Source code
import numpy as np # creating numpy array arr = np.array([1,2,3,4,5,6,7]) # INDEX of Third element is 2. index = 2 booleanIndex = [True for i in arr] booleanIndex[index] = False # Removing the 3rd element using boolean index arr = arr[booleanIndex] print(arr)
OUTPUT:
[1 2 4 5 6 7]
It removed the element at index position 2 from the NumPy Array.
Remove elements from NumPy Array Using index array
The elements in a numpy array can be accesed by passing a index array as index to the array
Example: arr = [ 1, 3, 5, 8, 9 ] indexArray = [1,3] arr[indexArray] ===> this will give [ 3, 8 ]
Now to remove the element from the array, create an index array with indexes of all the elements except for the elements that need to be deleted. Pass this index array as index to the given array. This will give an array with the element removed.
Source code
import numpy as np # creating numpy array arr = np.array([1,2,3,4,5,6,7]) #INDEX of Third element is 2. index = 2 # Removing the 3rd element using index array indexArray = [i for i in range(0, len(arr))] indexArray.remove(index) arr = arr[indexArray] print(arr)
Output:
[1 2 4 5 6 7]
It removed the element at index position 2 from the NumPy Array.
Remove elements from NumPy Array by index using setdiff1d() method
The setdiff1d() method is a built-in method in numpy library. It takes two arrays as input and finds difference of two arrays. It returns the values in array 1, that are not in array 2. Now to delete an element from NumPy Array based on index position pass the following arguments to setdiff1d() function,
- The given NumPy
- The Array’s 3rd position as 2nd array.
The setdiff1d() method returns the array with the 3rd element deleted.
Source code
import numpy as np # creating numpy array arr = np.array([11, 22, 33, 44, 55, 66, 77]) # INDEX of Third element is 2. index = 2 # Delete element at index position 2 arr = np.setdiff1d(arr, [arr[2]]) print(arr)
Output:
[11 22 44 55 66 77]
Summary
Great! you made it, We have disussed All possible methods to Remove elements from Numpy Array by Index. Happy learning, You can find amazing and interesting articles like this here
Pandas Tutorials -Learn Data Analysis with Python
-
Pandas Tutorial Part #1 - Introduction to Data Analysis with Python
-
Pandas Tutorial Part #2 - Basics of Pandas Series
-
Pandas Tutorial Part #3 - Get & Set Series values
-
Pandas Tutorial Part #4 - Attributes & methods of Pandas Series
-
Pandas Tutorial Part #5 - Add or Remove Pandas Series elements
-
Pandas Tutorial Part #6 - Introduction to DataFrame
-
Pandas Tutorial Part #7 - DataFrame.loc[] - Select Rows / Columns by Indexing
-
Pandas Tutorial Part #8 - DataFrame.iloc[] - Select Rows / Columns by Label Names
-
Pandas Tutorial Part #9 - Filter DataFrame Rows
-
Pandas Tutorial Part #10 - Add/Remove DataFrame Rows & Columns
-
Pandas Tutorial Part #11 - DataFrame attributes & methods
-
Pandas Tutorial Part #12 - Handling Missing Data or NaN values
-
Pandas Tutorial Part #13 - Iterate over Rows & Columns of DataFrame
-
Pandas Tutorial Part #14 - Sorting DataFrame by Rows or Columns
-
Pandas Tutorial Part #15 - Merging or Concatenating DataFrames
-
Pandas Tutorial Part #16 - DataFrame GroupBy explained with examples
Are you looking to make a career in Data Science with Python?
Data Science is the future, and the future is here now. Data Scientists are now the most sought-after professionals today. To become a good Data Scientist or to make a career switch in Data Science one must possess the right skill set. We have curated a list of Best Professional Certificate in Data Science with Python. These courses will teach you the programming tools for Data Science like Pandas, NumPy, Matplotlib, Seaborn and how to use these libraries to implement Machine learning models.
Checkout the Detailed Review of Best Professional Certificate in Data Science with Python.
Remember, Data Science requires a lot of patience, persistence, and practice. So, start learning today.