Python 熊猫时期与习俗的持续时间

Python 熊猫时期与习俗的持续时间,python,pandas,period,Python,Pandas,Period,阅读pandasPeriod对象的文档让我感到困惑,不知是否有可能创建一个自定义的Period。所谓自定义,我指的是不遵循特定频率的时段dtype,但PeriodIndex中的每个时段表示手动定义的开始时间戳和结束时间戳 举例说明: 假设我有n时间间隔t,其中每个间隔的开始和结束都是来自离散均匀分布随机变量的样本,约束条件是开始

阅读pandas
Period
对象的文档让我感到困惑,不知是否有可能创建一个自定义的Period。所谓自定义,我指的是不遵循特定频率的时段
dtype
,但
PeriodIndex
中的每个时段表示手动定义的开始时间戳和结束时间戳

举例说明:

假设我有n时间间隔t,其中每个间隔的开始和结束都是来自离散均匀分布随机变量的样本,约束条件是开始<结束

结果有点像这样:

[(ts_start0, ts_end0), (ts_start1, ts_end1), (ts_start2, ts_end2))]
有没有办法用Pandas
Period
或类似的东西对这种“随机”间隔/时间间隔/周期进行编码?

我想你可以使用:

使用时间戳:

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]')
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]')