【发布时间】:2014-09-29 22:44:08
【问题描述】:
我有一个频率为 1m 的 OHLC 数据的 df:
Open High Low Close
DateTime
2005-09-06 18:00:00 1230.25 1231.50 1230.25 1230.25
2005-09-06 18:01:00 1230.50 1231.75 1229.25 1230.50
.
.
2005-09-07 15:59:00 1234.50 1235.50 1234.25 1234.50
2005-09-07 16:00:00 1234.25 1234.50 1234.25 1234.25
我需要进行适合期货小时数据的“自定义”重新采样,其中:
- 每天从前一天的 18:00:00 开始(周一从周日 18:00:00 开始)
- 每天在当天的 16:00:00 结束
- 时间戳应该是收盘时间,而不是开盘时间。
重新采样后,输出应该是:
Open High Low Close
DateTime
2005-09-07 16:00:00 1230.25 1235.50 1229.25 1234.25
地点:
- 打开 = 第一个(列打开)于 2005-09-06 18:00:00
- 高 = 2005-09-06 18:00:00 到 2005-09-07 16:00:00 的最大值(列高)
- 从 2005-09-06 18:00:00 到 2005-09-07 16:00:00 的最低 = 最低(列低)
- 关闭 = 最后一次(列关闭)于 2005-09-07 16:00:00
我试过了:
- 更改参数规则和基数,但不起作用。
- 使用 reindex 没有成功。
我使用了以下“方法”:
conversion = {'Open': 'first', 'High': 'max', 'Low': 'min', 'Close': 'last'}
【问题讨论】:
-
能不能把每一天都作为当天的18:00结束,否则,16:00到18:00之间的DateTimes应该怎么办?
-
@unutbu 这是个好问题。您可以在 16:01 到 17:59 之间丢弃该数据。谢谢。
标签: python python-2.7 pandas time-series