Open
Description
Serializing a data frame with an interval index to JSON and then deserializing it fails to recover the index. Here is an example:
df = pd.DataFrame(index=pd.IntervalIndex(closed='left', dtype='interval[int64]',
data=[pd.Interval(0, 2, closed='left')]),
data={'a': [42'})
serialized = df.to_json(orient='table')
deserialized = pd.read_json(serialized, orient='table')
Looking at serialized
reveals that the interval index is serialized as any
type looking like that:
{"closed":"left","closed_right":false,"left":0,"mid":0.5,"open_right":true,"right":1}
and looking at deserialized.index[0]
reveals that the interval type wasn't recovered but rather the de-serialized value is still a dict:
{'closed': 'left',
'closed_right': False,
'left': 0,
'mid': 1.0,
'open_right': True,
'right': 2}