我想你可以用
IntervalIndex
:
In [18]: pd.IntervalIndex([pd.Interval(1,3), pd.Interval(4, 11), pd.Interval(13, 28)])
Out[18]:
IntervalIndex([(1, 3], (4, 11], (13, 28]]
closed='right',
dtype='interval[int64]')
使用时间戳:
In [25]: pd.IntervalIndex([
...: pd.Interval(pd.to_datetime('2018-01-01'), pd.to_datetime('2018-01-13')),
...: pd.Interval(pd.to_datetime('2018-03-08'), pd.to_datetime('2018-04-29')),
...: pd.Interval(pd.to_datetime('2018-05-03'), pd.to_datetime('2018-07-22'))
...: ])
...:
Out[25]:
IntervalIndex([(2018-01-01, 2018-01-13], (2018-03-08, 2018-04-29], (2018-05-03, 2018-07-22]]
closed='right',
dtype='interval[datetime64[ns]]')
更新:
我们可以使用
pd.IntervalIndex.from_tuples()
构造函数:
In [16]: pd.IntervalIndex.from_tuples([(1,3), (4, 11), (13, 28)], closed='right')
Out[16]:
IntervalIndex([(1, 3], (4, 11], (13, 28]]
closed='right',
dtype='interval[int64]')