pandas.date_range-freq =“ WOM-3FRI”,如何理解偏移别名?

时间:2018-11-04 03:55:42

标签: pandas

我一直在尝试在实验课上学习熊猫。我们的实验手册的一部分内容是通过date_range函数生成基于时间的索引。该班的实验室手册说

  

freq参数接受各种字符串表示形式,称为偏移别名。有关某些选项的示例,请参见表1.3。有关选项的完整列表,请参见http://pandas.pydata.org/pandas-docs/stable/timeseries.html#offset-aliases

我检查了在线文档中的“偏移别名”和“锚定偏移”部分。从这两个部分可以了解表1.3中的大多数条目。

但是,该表的最后一项是"WOM-3FRI",该表说,这对应于该月的每个第3个星期五的频率。我不知道如何从在线文档中推断出这一点。好像"WOM"被用作别名,"3FRI"被用作锚。但是,"WOM"在联机文档中未作为别名列出。因此,我正在努力弄清这里发生的事情。

我的一个假设是这是某种操作。 在线文档和我的实验书中有几个示例,其中在别名前面加一个数字会使该期间的长度增加该数字。因此,“ 2”的运行方式使“ 2M”产生的频率为每2个月一次。同样,“ 5”的运行方式也使得“ 5Y”每5年产生一次频率。 “ O”是否以某种方式工作,即偏移别名“ XOY”给出了周期Y的第x个子周期?例如,“ MOY-5”会指定一年的第5个月吗? “ DOY-7FRI”会在每年的第7个星期五吗?

我的另一个假设是"MOA"是一个新别名,而"3FRI"是它的锚点。但是,在线文档未列出"MOA"。我检查了一下,那是pandas 0.23.4文档。我的实验室机器正在运行0.23.4版,它可以很好地处理“ WOM-3FRI”。他们只是还没有更新文档吗?

任何人都可以澄清创建"WOM-3FRI"背后的方法/理论吗?

具有表1.3的实验手册:http://www.acme.byu.edu/wp-content/uploads/2018/10/Pandas4.pdf

2 个答案:

答案 0 :(得分:0)

我做了更多的挖掘工作。看来"WOM"只是一个未记录的偏移别名。来源:https://github.com/pandas-dev/pandas/issues/2289#issuecomment-269616457

答案 1 :(得分:0)

阅读pandas DateOffsets

WeekOfMonth - 'WOM' - 每个月第 y 周的第 x 天

并在此处查看示例 exercise

  1. 为 2015 年和 2016 年创建一个由每个月的第三个星期四组成的 DateTimeIndex。

pd.date_range('2015-01-01', '2016-12-31', freq='WOM-3THU')