我有一些在字典中特定日期发生的测量。它看起来像
date_dictionary['YYYY-MM-DD'] = measurement
.
我想计算从给定日期起7天内测量值之间的方差。当我将日期字符串转换为datetime.datetime
时,结果看起来像元组或数组,但行为不像。
是否有一种简单的方法可以从给定的日期生成一周内的所有日期?如果是这样,我该如何有效地做到这一点?
您可以使用- timedelta
来完成此操作。例子——
>>> from datetime import datetime,timedelta
>>> d = datetime.strptime('2015-07-22','%Y-%m-%d')
>>> for i in range(1,8):
... print(d + timedelta(days=i))
...
2015-07-23 00:00:00
2015-07-24 00:00:00
2015-07-25 00:00:00
2015-07-26 00:00:00
2015-07-27 00:00:00
2015-07-28 00:00:00
2015-07-29 00:00:00
您实际上不需要打印它,datetime
对象+ timedelta
对象返回datetime
对象。您可以在计算中直接使用返回的datetime
对象
使用datetime,生成给定日期之后的所有7个日期,包括给定日期,您可以这样做:
import datetime
dt = datetime.datetime(...)
week_dates = [ dt + datetime.timedelta(days=i) for i in range(7) ]
有一些库提供了更好的api来执行datetime/date操作,最著名的是pandas
(尽管它包含了更多)。看到pandas.date_range。