Python Pandas IntervalIndex - Indicates if an interval is empty (contains no points)

To indicate if an interval is empty (contains no points), use the is_empty property in Pandas. An interval is considered empty when its left and right endpoints are equal, meaning it contains no points.

What is an Empty Interval?

An empty interval occurs when the left and right boundaries are the same. For example, the interval [5, 5) or (3, 3] contains no actual points and is therefore empty.

Creating IntervalIndex

First, let's create an IntervalIndex with empty intervals ?

import pandas as pd

# Create IntervalIndex with empty intervals
interval = pd.IntervalIndex.from_arrays([0, 5, 10], [0, 5, 15])
print("IntervalIndex...")
print(interval)
IntervalIndex...
IntervalIndex([(0, 0], (5, 5], (10, 15]], dtype='interval[int64, right]')

Checking if Intervals are Empty

Use the is_empty property to check which intervals contain no points ?

import pandas as pd

# Create IntervalIndex with both empty and non-empty intervals
interval = pd.IntervalIndex.from_arrays([0, 5, 10], [0, 5, 15])

print("IntervalIndex...")
print(interval)

print("\nInterval lengths...")
print(interval.length)

print("\nIs each interval empty?")
print(interval.is_empty)
IntervalIndex...
IntervalIndex([(0, 0], (5, 5], (10, 15]], dtype='interval[int64, right]')

Interval lengths...
Int64Index([0, 0, 5], dtype='int64')

Is each interval empty?
[ True  True False]

Example with Different Interval Types

Let's examine how different interval boundaries affect emptiness ?

import pandas as pd

# Create intervals with different closedness
intervals = [
    pd.Interval(1, 1, closed='right'),    # Empty: [1, 1]
    pd.Interval(2, 2, closed='left'),     # Empty: [2, 2)
    pd.Interval(3, 5, closed='both'),     # Non-empty: [3, 5]
    pd.Interval(4, 4, closed='neither')   # Empty: (4, 4)
]

interval_index = pd.IntervalIndex(intervals)

print("IntervalIndex...")
print(interval_index)

print("\nIs each interval empty?")
print(interval_index.is_empty)

print("\nInterval lengths...")
print(interval_index.length)
IntervalIndex...
IntervalIndex([(1, 1], [2, 2), [3, 5], (4, 4)], dtype='interval[int64]')

Is each interval empty?
[ True  True False  True]

Interval lengths...
Float64Index([0.0, 0.0, 2.0, 0.0], dtype='float64')

Key Points

  • An interval is empty when its left and right endpoints are equal
  • The is_empty property returns a boolean array
  • Empty intervals have zero length regardless of their closure type
  • Both closed and open intervals can be empty if endpoints are equal

Conclusion

Use the is_empty property to identify intervals that contain no points. This is particularly useful when working with time series data or mathematical computations where empty intervals need special handling.

Updated on: 2026-03-26T16:58:42+05:30

147 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements