To check elementwise if an Interval overlaps the values in the IntervalArray, use the overlaps() method in Pandas.
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. Create an IntervalArray −
intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (15, 35)])
Display the IntervalArray −
print("IntervalArray...\n",intervals)Check elementwise if an Interval overlaps the values in the IntervalArray −
print("\nDoes interval overlaps values in the IntervalArray...\n",intervals.overlaps(pd.Interval(12, 30)))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
# Create an IntervalArray
intervals = pd.arrays.IntervalArray.from_tuples([(10, 20), (15, 35)])
# Display the IntervalArray
print("IntervalArray...\n",intervals)
# Display the interval length
print("\nInterval length...\n",intervals.length)
# Check elementwise if an Interval overlaps the values in the IntervalArray
print("\nDoes interval overlaps values in the IntervalArray...\n",intervals.overlaps(pd.Interval(12, 30)))Output
This will produce the following output −
IntervalArray... <IntervalArray> [(10, 20], (15, 35]] Length: 2, dtype: interval[int64, right] Interval length... Int64Index([10, 20], dtype='int64') Does interval overlaps values in the IntervalArray... [ True True]