Home »
Python »
Python Programs
How to count values in a certain range in a NumPy array?
Learn, how to count values in a certain range in a NumPy array?
By Pranit Sharma Last updated : December 23, 2023
NumPy is an abbreviated form of Numerical Python. It is used for different types of scientific operations in python. Numpy is a vast library in python which is used for almost every kind of scientific or mathematical operation. It is itself an array which is a collection of various methods and functions for processing the arrays.
Problem statement
Suppose that we are given a numpy array with some numerical values. We need to count how many of these values lie in a specific range. For example, we need to count the number of elements that lies between 30 to 150.
Counting values in a certain range in a NumPy array
NumPy has a counter but it is valid for specific values and not a range of values. Also, if we try the range() function, it will return all the values in a specific range bit, not the count.
A very fine solution for this problem is to use a direct expression stating a condition applied on our array that (30 < arr < 150) on which the sum() function can be applied.
This expression results in a Boolean array with the same shape as arr with the value True for all elements that satisfy the condition. Summing over this Boolean array treats True values as 1 and False values as 0.
Let us understand with the help of an example,
Python code to count values in a certain range in a NumPy array
# Import numpy
import numpy as np
# Creating a numpy array
arr = np.array([10,2003,30,134,78,33,45,5,624,150,23,67,54,11])
# Display original array
print("Original Array:\n",arr,"\n")
# Counting all the values lies in a specific range
res = ((30 < arr) & (arr < 150)).sum()
# Display result
print("Result:\n",res)
Output
Python NumPy Programs »