【发布时间】:2018-03-26 15:55:49
【问题描述】:
我正在尝试制作一个哈希表来加快查找特定日期与假日日期之间差异的过程(我有一个包含 10 个假日日期的列表)。
holidays =['2014-01-01', '2014-01-20', '2014-02-17', '2014-05-26',
'2014-07-04', '2014-09-01', '2014-10-13', '2013-11-11',
'2013-11-28', '2013-12-25']
from datetime import datetime
holidaydate=[]
for i in range(10):
holidaydate.append(datetime.strptime(holidays[i], '%Y-%m-%d'))
newdate=pd.to_datetime(df.YEAR*10000+df.MONTH*100+df.DAY_OF_MONTH,format='%Y-%m-%d')
#newdate contains all the 0.5 million of dates!
现在我想使用哈希表来计算“newdate”中的 50 万个日期中的每一个与最近的假期之间的差异。我不想做同样的计算数百万次,这就是为什么我想为此使用哈希表。
我尝试在谷歌上搜索解决方案,但只找到了以下内容:
keys = ['a', 'b', 'c']
values = [1, 2, 3]
hash = {k:v for k, v in zip(keys, values)}
这在我的情况下不起作用。
感谢您的帮助!
【问题讨论】:
-
我不遵循您的需求。首先,我看不到您在哪里设置了哈希表,甚至没有研究过哈希表。其次,你会在哪里进行数百万次重复计算?我看到一张包含 50 万种不同计算的表格。因为你可以用一个相对简单的函数来解决这个问题,如果你想避免重复一些测试,我不确定你需要什么来实现最终功能。