We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
In [3]: ivs = pd.interval_range(0, 4) ...: ivs ...: Out[3]: IntervalIndex([(0, 1], (1, 2], (2, 3], (3, 4]] closed='right', dtype='interval[int64]') In [4]: ivs.insert(2, np.nan) --------------------------------------------------------------------------- ValueError: can only insert Interval objects into an IntervalIndex
IntervalIndex.insert fails to insert NaN.
IntervalIndex.insert
NaN
Note that NaN should be valid to insert, as you can construct an IntervalIndex with NaN:
IntervalIndex
In [5]: pd.IntervalIndex([pd.Interval(0, 1), np.nan, pd.Interval(2, 3)]) Out[5]: IntervalIndex([(0.0, 1.0], nan, (2.0, 3.0]] closed='right', dtype='interval[float64]')
Additionally, other types of index allow for NaN to be inserted:
In [6]: pd.Index(list('abc')).insert(2, np.nan) Out[6]: Index(['a', 'b', nan, 'c'], dtype='object') In [7]: pd.period_range('2017Q1', periods=4, freq='Q').insert(2, np.nan) Out[7]: PeriodIndex(['2017Q1', '2017Q2', 'NaT', '2017Q3', '2017Q4'], dtype='period[Q-DEC]', freq='Q-DEC')
NaN to be inserted at the specified location:
IntervalIndex([(0.0, 1.0], (1.0, 2.0], nan, (2.0, 3.0], (3.0, 4.0]] closed='right', dtype='interval[float64]')
pd.show_versions()
commit: None python: 3.6.3.final.0 python-bits: 64 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.21.0 pytest: 3.1.2 pip: 9.0.1 setuptools: 27.2.0 Cython: 0.26 numpy: 1.13.3 scipy: 0.19.1 pyarrow: None xarray: None IPython: 6.1.0 sphinx: 1.5.6 patsy: 0.4.1 dateutil: 2.6.1 pytz: 2017.2 blosc: None bottleneck: 1.2.1 tables: 3.2.2 numexpr: 2.6.4 feather: None matplotlib: 2.0.2 openpyxl: 2.4.7 xlrd: 1.0.0 xlwt: 1.2.0 xlsxwriter: 0.9.6 lxml: 3.7.3 bs4: 4.6.0 html5lib: 0.999 sqlalchemy: 1.1.9 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:
Successfully merging a pull request may close this issue.
Code Sample, a copy-pastable example if possible
Problem description
IntervalIndex.insert
fails to insertNaN
.Note that
NaN
should be valid to insert, as you can construct anIntervalIndex
withNaN
:Additionally, other types of index allow for
NaN
to be inserted:Expected Output
NaN
to be inserted at the specified location:Output of
pd.show_versions()
INSTALLED VERSIONS
commit: None
python: 3.6.3.final.0
python-bits: 64
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.21.0
pytest: 3.1.2
pip: 9.0.1
setuptools: 27.2.0
Cython: 0.26
numpy: 1.13.3
scipy: 0.19.1
pyarrow: None
xarray: None
IPython: 6.1.0
sphinx: 1.5.6
patsy: 0.4.1
dateutil: 2.6.1
pytz: 2017.2
blosc: None
bottleneck: 1.2.1
tables: 3.2.2
numexpr: 2.6.4
feather: None
matplotlib: 2.0.2
openpyxl: 2.4.7
xlrd: 1.0.0
xlwt: 1.2.0
xlsxwriter: 0.9.6
lxml: 3.7.3
bs4: 4.6.0
html5lib: 0.999
sqlalchemy: 1.1.9
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: