我已经试了好几个小时了,没有解决办法..
以下是盘中5分钟外汇数据-DF。每天每5分钟记录一次。由于周末休市,因此我不包括周末数据。这里的周末定义为从星期五5:00 pm-星期日5:00 pm。
Time OPEN CLOSE
216 2014-01-01 18:05:00 0.891975 0.892185
217 2014-01-01 18:10:00 0.892075 0.892090
...
210238 2015-12-31 23:55:00 1.000390 1.000390
210239 2016-01-01 00:00:00 1.000390 1.000390
一天的定义是从11:00 am-11:00 am。因此,当我说2014-01-02时,我正在汇总从2014-01-01 11:00 am到2014-01-02 11:00 am的数据。2014-01-06(星期一)将包含两个时间间隔的数据:1. 2014-01-03(星期五)11:00-17:00 2. 2014-01-05(星期日)17:00-2014-01- 06 11:00
我想创建一个新的“日期”列来定义新的“日期”,因此通过阅读df.Time,该列将记录它属于哪一天。
您将如何处理?
Time OPEN CLOSE Date
2014-01-03 14:05:00 0.891975 0.892185 2014-01-06
2014-01-05 17:00:00 0.892075 0.892090 2014-01-06
2014-01-06 11:00:00 0.892075 0.892090 2014-01-06
...
2015-12-31 23:55:00 1.000390 1.000390 2016-01-01
2016-01-01 00:00:00 1.000390 1.000390 2016-01-01
我使用大熊猫偏移量。
import pandas as pd
times = pd.date_range('2016-01-01 11:00:00', '2016-01-15 11:00:00', freq='H')
pd.to_datetime((times - pd.offsets.Hour(11) + pd.offsets.BDay()).date)
times
得到之间每隔一小时'2016-01-01 11:00:00'
,并'2016-01-15 11:00:00'
根据您的描述,如果我减去11小时并添加一个工作日,那么我应该在您需要的那一天。然后,我将其转换为不包含时间成分的日期。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句