大熊猫不规则的、不连续的周期

我需要表示一系列事件。这些事件有点不寻常,因为它们是:

  • 非连续
  • 非重叠
  • 不规则持续时间

例如:

  • 1200-1203
  • 1210-1225
  • 1304-1502

我想用Pandas.PeriodIndex来表示这些事件,但我不知道如何创建持续时间不规则的Period对象

我有两个问题:

  1. 是否有方法使用现有功能创建持续时间不规则的Period对象
  2. 如果没有,您能否建议如何修改Pandas以提供不规则的持续时间期间对象?(此注释表明,可以“使用定制的DateOffset类,并使用精心编制的onOffset、rollforward、rollback和apply方法””)

注释

  1. Period的文档字符串表明,可以为“5分钟”指定任意持续时间,如5T。我相信这个文档串是不正确的。运行pd.Period('2013-01-01',freq='5T')会产生异常ValueError:仅支持mult==1。我已经报告了这个问题
  2. 熊猫文档中的“时间戳与时间跨度”部分“对于常规时间跨度,pandas使用Period对象作为标量值,使用PeriodIndex作为跨度序列未来的版本将提供更好的对具有任意起点和终点的不规则间隔的支持”(我的重点)

更新1

构建一个带有自定义持续时间的时段看起来非常简单。但是我认为主要的障碍是说服时段索引接受具有不同频率的时段。例如:

[93]on

:周期索引([pd.Period('2000',freq='D'),
pd.期间('2001',频率')]
值错误:2001-01-01 00:00是错误的频率

PeriodIndex中,似乎有一个中心假设,即每个周期都有相同的freq

根据应用程序的不同,一种可能的解决方案是创建一个PeriodIndex来存储数据,该索引的周期等于处理数据所需的最小时间分辨率单位,然后将数据划分到每个事件的存储箱中,剩余的存储箱为空

发表评论