Python Pandas - Check if the Pandas Index holds Interval objects

To check if a Pandas Index holds Interval objects, use the is_interval() method. This method returns True if the index contains interval objects, False otherwise.

What are Interval Objects?

Pandas Interval objects represent bounded intervals between two values. They are useful for categorizing continuous data or representing ranges.

import pandas as pd

# Create individual Interval objects
interval1 = pd.Interval(10, 30)
interval2 = pd.Interval(30, 50)

print("Interval1:", interval1)
print("Interval2:", interval2)
Interval1: (10, 30]
Interval2: (30, 50]

Creating an IntervalIndex

You can create a Pandas Index from Interval objects, which automatically creates an IntervalIndex ?

import pandas as pd

# Create Interval objects
interval1 = pd.Interval(10, 30)
interval2 = pd.Interval(30, 50)

# Create an Index from intervals
index = pd.Index([interval1, interval2])

print("Pandas Index:")
print(index)
print("\nIndex dtype:", index.dtype)
Pandas Index:
IntervalIndex([(10, 30], (30, 50]], dtype='interval[int64, right]')

Index dtype: interval[int64, right]

Checking for Interval Objects

Use is_interval() to verify if the index contains interval objects ?

import pandas as pd

# Create IntervalIndex
interval1 = pd.Interval(10, 30)
interval2 = pd.Interval(30, 50)
interval_index = pd.Index([interval1, interval2])

print("Does Index consist of Interval objects?", interval_index.is_interval())

# Compare with regular Index
regular_index = pd.Index([1, 2, 3, 4])
print("Does regular Index consist of Interval objects?", regular_index.is_interval())
Does Index consist of Interval objects? True
Does regular Index consist of Interval objects? False

Practical Example

Here's a complete example showing how to create and check interval indexes ?

import pandas as pd

# Create age groups using intervals
age_groups = [
    pd.Interval(0, 18, closed='right'),
    pd.Interval(18, 35, closed='right'),
    pd.Interval(35, 65, closed='right'),
    pd.Interval(65, 100, closed='right')
]

# Create IntervalIndex
age_index = pd.Index(age_groups)

print("Age Groups Index:")
print(age_index)
print("\nIs interval index?", age_index.is_interval())
print("Data type:", age_index.dtype)

# Create DataFrame with interval index
data = {'count': [150, 300, 250, 80]}
df = pd.DataFrame(data, index=age_index)
print("\nDataFrame with IntervalIndex:")
print(df)
Age Groups Index:
IntervalIndex([(0, 18], (18, 35], (35, 65], (65, 100]], dtype='interval[int64, right]')

Is interval index? True
Data type: interval[int64, right]

DataFrame with IntervalIndex:
        count
(0, 18]   150
(18, 35]  300
(35, 65]  250
(65, 100]  80

Conclusion

The is_interval() method is a simple way to check if a Pandas Index contains Interval objects. This is particularly useful when working with categorical data or time-based ranges where you need to verify the index type before performing interval-specific operations.

Updated on: 2026-03-26T15:59:51+05:30

277 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements