如果我有2组日期时间数据。第一组的时间间隔是1小时,第二组的时间间隔是4小时。这是基于烛台数据,例如,4小时烛光开放时间= 05:00,关闭时间= 09:00。我需要在1小时内找到相应的蜡烛,以便与4小时内的蜡烛相匹配。如果蜡烛是基于关闭时间,我只需要找到1小时和4小时的日期时间09:00,简单易行。
但由于蜡烛是基于开放时间,如果我需要相同的蜡烛,我必须在4小时05:00找到,相应的(蜡烛或时间)是1小时的08:00。基本上我需要将它们转换为关闭时间以进行匹配:
from dateutil.relativedelta import *
if 1H+relativedelta(hour=+1) = 4H+relativedelta(hour=+4):
以上是我在网上研究的内容,但这种方法对于循环数据的速度非常慢。我的朋友使用PHP,可以快速完成。有谁知道在Python上更快的方法吗?感谢。
答案 0 :(得分:1)
我无法看到relativedelta
如何有用。 timedelta
更自然。它会变得比这快得多:
import datetime
oneHourStart = datetime.datetime(2018,1,16,8,0,0)
fourHourStart = datetime.datetime(2018,1,16,5,0,0)
oneHourDelta = datetime.timedelta(hours=1)
fourHourDelta = datetime.timedelta(hours=4)
if oneHourStart+oneHourDelta == fourHourStart+fourHourDelta:
print("Match")
输出:
Match