Python Pandas - Create a half-closed time interval and check for existence of endpoints

A half-closed time interval in Pandas represents a range where one endpoint is included and the other is excluded. Use pd.Interval() with the closed parameter to create half-closed intervals and the in operator to check for endpoint existence.

Creating a Half-Closed Interval

A half-closed interval can be either left-closed or right-closed. When closed='right', the interval includes the right endpoint but excludes the left endpoint ?

import pandas as pd

# Create a right-closed interval (0, 20]
# This means 0 < x <= 20
interval = pd.Interval(left=0, right=20, closed='right')
print("Interval:", interval)
print("Interval length:", interval.length)
Interval: (0, 20]
Interval length: 20

Checking Endpoint Existence

Use the in operator to check if specific values exist within the interval. For right-closed intervals, only the right endpoint is included ?

import pandas as pd

interval = pd.Interval(left=0, right=20, closed='right')

# Check endpoint existence
print("Left endpoint (0) in interval:", 0 in interval)
print("Right endpoint (20) in interval:", 20 in interval)
print("Middle value (10) in interval:", 10 in interval)
Left endpoint (0) in interval: False
Right endpoint (20) in interval: True
Middle value (10) in interval: True

Different Closure Types

Compare how different closure types affect endpoint inclusion ?

import pandas as pd

# Different closure types
left_closed = pd.Interval(0, 20, closed='left')   # [0, 20)
right_closed = pd.Interval(0, 20, closed='right') # (0, 20]
both_closed = pd.Interval(0, 20, closed='both')   # [0, 20]

print("Left-closed [0, 20):")
print("  0 in interval:", 0 in left_closed)
print("  20 in interval:", 20 in left_closed)

print("\nRight-closed (0, 20]:")
print("  0 in interval:", 0 in right_closed)
print("  20 in interval:", 20 in right_closed)

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

Right-closed (0, 20]:
  0 in interval: False
  20 in interval: True

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

Conclusion

Half-closed intervals in Pandas include one endpoint while excluding the other. Use closed='right' for right-closed intervals and the in operator to test endpoint membership efficiently.

Updated on: 2026-03-26T17:49:21+05:30

181 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements