To check elementwise if an Interval overlaps the values in the IntervalArray created from an array of splits, use the array.overlaps() method.
At first, import the required libraries −
import pandas as pd
Two intervals overlap if they share a common point, including closed endpoints. Intervals that only have an open endpoint in common do not overlap. Construct a new IntervalArray from an array-like of splits −
array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5])
Display the intervals −
print("Our IntervalArray...\n",array)
Check for overlap −
print("\nDoes the Interval overlaps the values in the IntervalArray", array.overlaps(pd.Interval(2.5, 3.2)))
Example
Following is the code −
import pandas as pd # Two intervals overlap if they share a common point, including closed endpoints. # Intervals that only have an open endpoint in common do not overlap. # Construct a new IntervalArray from an array-like of splits array = pd.arrays.IntervalArray.from_breaks([0, 1, 2, 3, 4, 5]) # Display the IntervalArray print("Our IntervalArray...\n",array) # check for overlap print("\nDoes the Interval overlaps the values in the IntervalArray", array.overlaps(pd.Interval(2.5, 3.2)))
Output
This will produce the following code −
Our IntervalArray... <IntervalArray> [(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]] Length: 5, dtype: interval[int64, right] Does the Interval overlaps the values in the IntervalArray [False False True True False]