The Numpy library in Python comes with a number of useful functions and methods to work with and manipulate the data in arrays. In this tutorial, we will look at how to get all the odd elements from a Numpy array with the help of some examples.
Steps to get all the odd values in a Numpy array
You can use boolean indexing to filter the Numpy array such that the resulting array contains only the elements that specify a given condition. For example, values that are odd.
Step 1 – Create a Numpy array
First, we will create a Numpy array that we will be using throughout this tutorial.
import numpy as np # create a numpy array ar = np.array([1, 2, 3, 4, 5, 6, 7, 8]) # display the array print(ar)
[1 2 3 4 5 6 7 8]
Here, we used the
numpy.array() function to create a one-dimensional Numpy array containing some numbers.
Step 2 – Filter the array for odd values using a boolean expression
To get all the odd elements of a Numpy array, filter the array using boolean indexing.
Here, we will specify our boolean expression,
ar % 2 != 0 and then use the boolean array resulting from this expression to filter our original array. The
% (modulus) operator returns the remainder when the left value is divided by the right value. Since odd numbers are not divisible by 2,
ar % 2 will not result in 0 if the number is odd.
Let’s get all the odd elements in the array created above
# odd values in the array ar print(ar[ar % 2 != 0])
[1 3 5 7]
We get all the odd values in the array
To understand what’s happening here, let’s look under the hood. Let’s see what we get from the expression
ar % 2 != 0.
ar % 2 != 0
array([ True, False, True, False, True, False, True, False])
We get a Numpy array with boolean values. The values in this array represent whether a value at a particular index satisfies the given condition or not (if the value is odd or not).
When we do
ar[ar % 2 != 0], we are essentially filtering the original array where the condition evaluates to
You can similarly filter a Numpy array for other conditions as well.
Summary – Get all odd elements in a Numpy array
In this tutorial, we looked at how to get the odd elements of a Numpy array. The following is a short summary of the steps mentioned –
- Create a Numpy array (skip this step if you already have an array to operate on).
- Use boolean indexing to filter the array for only the values that are odd,
ar[ar % 2 != 0].
You might also be interested in –
Subscribe to our newsletter for more informative guides and tutorials.
We do not spam and you can opt out any time.