-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
IntervalIndex does not accept CategoricalIndex (of interval dtype) #21243
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Tagging as regression because the code provided in this SO answer doesn't work any more. |
Yeah, this should probably work. I think it's just a couple line fix; will create a PR within the next day if the fix is as straightforward as I think. |
Also, the
In [2]: cat_l = pd.Categorical([0, 0, 1, 2, 2])
In [3]: cat_r = pd.Categorical([1, 3, 3, 3, 4])
In [4]: pd.IntervalIndex.from_arrays(cat_l, cat_r)
---------------------------------------------------------------------------
TypeError: category, object, and string subtypes are not supported for IntervalIndex But In [5]: cat_tup = pd.Categorical([(0, 1), (0, 1), (0, 3), (1, 2)])
In [6]: pd.IntervalIndex.from_tuples(cat_tup)
Out[6]:
IntervalIndex([(0, 1], (0, 1], (0, 3], (1, 2]]
closed='right',
dtype='interval[int64]') A while back we decided to disallow creating an |
While I can't say I use
"this" = "the |
Yes, I think I was a bit unclear but by "what I've shown above" I meant using
Correct |
Code Sample, a copy-pastable example if possible
Problem description
From a practical point of view, the above is just handy. From a conceptual point of view, the fact that a
Series
orIndex
hascategorical
dtype should be irrelevant for all operations which do not directly concern categories, so again, the above should work the same as if it was not aCategoricalIndex
.I think the following also reflects the same problem:
... and hence, also passing
index.values
raises an error.Expected Output
An
IntervalIndex
with the same content of theCategoricalIndex
.Output of
pd.show_versions()
INSTALLED VERSIONS
commit: None
python: 3.5.3.final.0
python-bits: 64
OS: Linux
OS-release: 4.9.0-6-amd64
machine: x86_64
processor:
byteorder: little
LC_ALL: None
LANG: it_IT.UTF-8
LOCALE: it_IT.UTF-8
pandas: 0.24.0.dev0+25.gcd0447102
pytest: 3.5.0
pip: 9.0.1
setuptools: 39.2.0
Cython: 0.25.2
numpy: 1.14.3
scipy: 0.19.0
pyarrow: None
xarray: None
IPython: 6.2.1
sphinx: 1.5.6
patsy: 0.5.0
dateutil: 2.7.3
pytz: 2018.4
blosc: None
bottleneck: 1.2.0dev
tables: 3.3.0
numexpr: 2.6.1
feather: 0.3.1
matplotlib: 2.2.2.post1153+gff6786446
openpyxl: 2.3.0
xlrd: 1.0.0
xlwt: 1.3.0
xlsxwriter: 0.9.6
lxml: 4.1.1
bs4: 4.5.3
html5lib: 0.999999999
sqlalchemy: 1.0.15
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: 0.2.1
The text was updated successfully, but these errors were encountered: