Python Pandas - Check if an element belongs to an Interval

Pandas provides the Interval class to represent mathematical intervals. You can check if an element belongs to an interval using the in operator, which returns True if the element falls within the interval boundaries.

Creating an Interval

First, let's create a basic interval using pd.Interval() ?

import pandas as pd

# Create an interval from 0 to 10
interval = pd.Interval(left=0, right=10)
print("Interval:", interval)
print("Interval length:", interval.length)
Interval: (0, 10]
Interval length: 10

Checking Element Membership

Use the in operator to check if specific elements belong to the interval ?

import pandas as pd

interval = pd.Interval(left=0, right=10)

# Check different elements
print("6 in interval:", 6 in interval)
print("0 in interval:", 0 in interval)
print("10 in interval:", 10 in interval)
print("15 in interval:", 15 in interval)
6 in interval: True
0 in interval: False
10 in interval: True
15 in interval: False

Understanding Interval Boundaries

By default, intervals are left-open and right-closed (0, 10]. You can specify the boundary behavior using the closed parameter ?

import pandas as pd

# Different boundary types
interval_left_closed = pd.Interval(0, 10, closed='left')  # [0, 10)
interval_both_closed = pd.Interval(0, 10, closed='both')  # [0, 10]
interval_neither_closed = pd.Interval(0, 10, closed='neither')  # (0, 10)

print("Left-closed [0, 10):")
print("  0 in interval:", 0 in interval_left_closed)
print("  10 in interval:", 10 in interval_left_closed)

print("\nBoth-closed [0, 10]:")
print("  0 in interval:", 0 in interval_both_closed)
print("  10 in interval:", 10 in interval_both_closed)
Left-closed [0, 10):
  0 in interval: True
  10 in interval: False

Both-closed [0, 10]:
  0 in interval: True
  10 in interval: True

Practical Example

Here's a practical example checking multiple values against an interval ?

import pandas as pd

# Create an age range interval
age_range = pd.Interval(18, 65, closed='both')  # [18, 65]
ages_to_check = [16, 18, 25, 65, 70]

print("Age range:", age_range)
print("Checking ages for eligibility:")

for age in ages_to_check:
    eligible = age in age_range
    print(f"  Age {age}: {'Eligible' if eligible else 'Not eligible'}")
Age range: [18, 65]
Checking ages for eligibility:
  Age 16: Not eligible
  Age 18: Eligible
  Age 25: Eligible
  Age 65: Eligible
  Age 70: Not eligible

Conclusion

Use the in operator to check if elements belong to a Pandas interval. Pay attention to the closed parameter to control whether boundaries are included or excluded from the interval.

Updated on: 2026-03-26T17:47:53+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements