Skip to content

BUG: Series(list_of_intervals) results in object dtype #23563

Closed
@jschendel

Description

@jschendel

Code Sample, a copy-pastable example if possible

Constructing a Series from a list of Interval objects results in an object dtype, and is not backed by an IntervalArray:

In [2]: s = pd.Series([pd.Interval(0, 1), pd.Interval(1, 2), pd.Interval(2, 3)])

In [3]: s.dtype
Out[3]: dtype('O')

In [4]: s.values
Out[4]:
array([Interval(0, 1, closed='right'), Interval(1, 2, closed='right'),
       Interval(2, 3, closed='right')], dtype=object)

Note that constructing a Series from an IntervalArray results in the correct dtype and is backed by an IntervalArray:

In [5]: s2 = pd.Series(pd.core.arrays.IntervalArray.from_breaks(range(4)))

In [6]: s2.dtype
Out[6]: interval[int64]

In [7]: s2.values
Out[7]:
IntervalArray([(0, 1], (1, 2], (2, 3]],
              closed='right',
              dtype='interval[int64]')

Problem description

The input data is not being inferred as interval dtype, but rather as object dtype, and is not being backed by an IntervalArray.

Expected Output

I'd expect to the Series to have an interval dtype and be backed by an IntervalArray.

Output of pd.show_versions()

INSTALLED VERSIONS

commit: 8212001
python: 3.6.1.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.24.0.dev0+948.g82120016e
pytest: 3.8.2
pip: 9.0.1
setuptools: 39.0.1
Cython: 0.28.2
numpy: 1.13.3
scipy: 1.0.0
pyarrow: 0.6.0
xarray: 0.9.6
IPython: 6.1.0
sphinx: 1.5.6
patsy: 0.4.1
dateutil: 2.6.0
pytz: 2017.2
blosc: None
bottleneck: 1.2.1
tables: 3.4.2
numexpr: 2.6.4
feather: 0.4.0
matplotlib: 2.0.2
openpyxl: 2.4.8
xlrd: 1.1.0
xlwt: 1.3.0
xlsxwriter: 0.9.8
lxml: 3.8.0
bs4: None
html5lib: 0.999
sqlalchemy: 1.1.13
pymysql: None
psycopg2: None
jinja2: 2.9.6
s3fs: None
fastparquet: 0.1.5
pandas_gbq: None
pandas_datareader: None
gcsfs: None

Metadata

Metadata

Assignees

No one assigned

    Labels

    ConstructorsSeries/DataFrame/Index/pd.array ConstructorsDtype ConversionsUnexpected or buggy dtype conversionsIntervalInterval data type

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions