piso.interval.difference#

piso.interval.difference(interval1, interval2, squeeze=True)#

Performs the set difference of two pandas.Interval

Parameters
interval1pandas.Interval

the first operand

interval2pandas.Interval

the second operand

squeezeboolean, default True

If True, will try to coerce the return value to a pandas.Interval

Returns
pandas.Interval or pandas.arrays.IntervalArray

Examples

>>> import pandas as pd
>>> import piso.interval
>>> piso.interval.difference(
...    pd.Interval(0, 3),
...    pd.Interval(2, 4),
... )
Interval(0.0, 2.0, closed='right')
>>> piso.interval.difference(
...    pd.Interval(0, 3),
...    pd.Interval(2, 4),
...    squeeze=False,
... )
<IntervalArray>
[(0.0, 2.0]]
Length: 1, closed: right, dtype: interval[float64]
>>> piso.interval.difference(
...    pd.Interval(0, 4, closed="left"),
...    pd.Interval(2, 3, closed="left"),
... )
<IntervalArray>
[[0.0, 2.0), [3.0, 4.0)]
Length: 2, closed: left, dtype: interval[float64]
>>> piso.interval.difference(
...    pd.Interval(2, 3),
...    pd.Interval(0, 4),
... )
<IntervalArray>
[]
Length: 0, closed: right, dtype: interval[int64]