Python Pandas - Create an open time interval and check for existence of both the endpoints

To create an open time interval in Pandas, use pd.Interval() with the closed parameter set to "neither". An open interval excludes both endpoints, meaning it contains all values between the boundaries but not the boundaries themselves.

Creating an Open Interval

An open interval uses parentheses notation (0, 20) and represents the mathematical condition 0 < x < 20 ?

import pandas as pd

# Create an open interval that excludes both endpoints
interval = pd.Interval(left=0, right=20, closed='neither')

print("Interval:", interval)
print("Interval length:", interval.length)
Interval: (0, 20)
Interval length: 20

Checking Endpoint Existence

Use the in operator to verify that endpoints are excluded from the open interval ?

import pandas as pd

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

print("Left endpoint (0) in interval:", 0 in interval)
print("Right endpoint (20) in interval:", 20 in interval)
print("Value inside interval (10) in interval:", 10 in interval)
Left endpoint (0) in interval: False
Right endpoint (20) in interval: False
Value inside interval (10) in interval: True

Comparison of Interval Types

Closed Parameter Notation Includes Left Includes Right
'both' [0, 20] Yes Yes
'left' [0, 20) Yes No
'right' (0, 20] No Yes
'neither' (0, 20) No No

Complete Example

import pandas as pd

# Create different interval types for comparison
open_interval = pd.Interval(0, 20, closed='neither')
closed_interval = pd.Interval(0, 20, closed='both')

print("Open interval:", open_interval)
print("Closed interval:", closed_interval)

# Test endpoint inclusion
print("\nOpen interval contains 0:", 0 in open_interval)
print("Closed interval contains 0:", 0 in closed_interval)
print("Open interval contains 20:", 20 in open_interval) 
print("Closed interval contains 20:", 20 in closed_interval)
Open interval: (0, 20)
Closed interval: [0, 20]

Open interval contains 0: False
Closed interval contains 0: True
Open interval contains 20: False
Closed interval contains 20: True

Conclusion

Use pd.Interval(closed='neither') to create open intervals that exclude both endpoints. The in operator confirms that boundary values are not included in the interval.

Updated on: 2026-03-26T17:48:27+05:30

203 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements