API: Add closed to IntervalDtype · Issue #19371 · pandas-dev/pandas (original) (raw)
This was brought up by @shoyer in a different issue, and it makes sense to me
Adding closed
to IntervalDtype
makes sense to me, as in my mind closed
is inherently part of the dtype. Since differing closed
makes two IntervalIndex
incompatible, I'd expect their dtypes to not be equal, but they currently are, which seems a little strange:
In [2]: ii1 = pd.interval_range(0, 3, closed='left')
In [3]: ii2 = pd.interval_range(0, 3, closed='right')
In [4]: ii1.dtype == ii2.dtype Out[4]: True
There's also a larger discussion as to if adding closed
to IntervalDtype
would allow us to remove closed
as a parameter to the IntervalIndex
constructor. My preference would be to keep the closed
parameter for user convenience, similar to how CategoricalIndex
accepts categories
and ordered
parameters despite also accepting CategoricalDtype
(though maybe this is just for legacy reasons). Willing to be convinced otherwise though.
xref #19263 (comment) (original comment)
xref #19370 (might be rendered moot)
cc @shoyer