You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A test in my PR #19021 that passed a few days ago, is now failing. The issue is AFAIKT that IntervalIndex.difference incorrectly casts an empy difference as having dtype object, where it should have dtype Interval[int64].
xref #19022, that seems to have surfaced if not caused this bug.
Expected Output
Expected was IntervalIndex([] closed='right', dtype='interval[int64]').
Output of pd.show_versions()
INSTALLED VERSIONS
commit: 26e7419
python: 3.6.3.final.0
python-bits: 32
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 78 Stepping 3, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None
The text was updated successfully, but these errors were encountered:
topper-123
changed the title
BUG: pd.IntervalIndex.difference raises when empty
BUG: pd.IntervalIndex.difference raises when empty difference
Jan 6, 2018
Thanks, this appears to happen with any type of set operation that returns empty:
In [15]: ii1=pd.interval_range(0, 4)
In [16]: ii2=pd.interval_range(5, 10)
In [17]: ii1.intersection(ii2)
---------------------------------------------------------------------------TypeError: category, object, andstringsubtypesarenotsupportedforIntervalIndex
Under the hood, IntervalIndex uses MultiIndex set ops, and then takes the resulting array of tuples to build the result. When the result is empty, an empty object dtype array is returned by MultiIndex, so the inferred dtype is object, which is then rejected upon IntervalIndex creation.
Uh oh!
There was an error while loading. Please reload this page.
Code Sample, a copy-pastable example if possible
Problem description
A test in my PR #19021 that passed a few days ago, is now failing. The issue is AFAIKT that
IntervalIndex.difference
incorrectly casts an empy difference as having dtypeobject
, where it should have dtypeInterval[int64]
.xref #19022, that seems to have surfaced if not caused this bug.
Expected Output
Expected was
IntervalIndex([] closed='right', dtype='interval[int64]')
.Output of
pd.show_versions()
INSTALLED VERSIONS
commit: 26e7419
python: 3.6.3.final.0
python-bits: 32
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 78 Stepping 3, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None
pandas: 0.22.0.dev0+511.g26e7419
pytest: 3.3.1
pip: 9.0.1
setuptools: 38.2.5
Cython: 0.26.1
numpy: 1.13.3
scipy: 1.0.0
pyarrow: None
xarray: None
IPython: 6.2.1
sphinx: 1.6.3
patsy: 0.4.1
dateutil: 2.6.1
pytz: 2017.3
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 2.1.0
openpyxl: 2.4.9
xlrd: 1.1.0
xlwt: 1.3.0
xlsxwriter: None
lxml: None
bs4: None
html5lib: 1.0b10
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.9.6
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
The text was updated successfully, but these errors were encountered: