python中是否有可以在某一天生成日期维度的库?我想用它来进行数据分析。我经常会有一系列日期,但出于汇总目的,我希望能够快速生成与当天相关的日期 - 例如月份的第一个日期,一周的第一天等等。
我想我可以创造自己的,但如果有什么东西已经很好了。
由于
答案 0 :(得分:6)
查看dateutil
。
recurrence rules和relative deltas就是你想要的。
例如,如果你想获得最后一个星期一:
import dateutil.relativedelta as rd
import datetime
last_monday = datetime.date.today() + rd.relativedelta(weekday=rd.MO(-1))
答案 1 :(得分:2)
time
和datetime
个模块出于某些目的,您可以time
module使用strftime()
方法,date
module使用strftime()
方法。它允许您拉动其他数据:
weekday()
method获取周一0
和周日6
之间的工作日数字,这足以计算一个月的第一天,一周的第一天和其他一些数据。
要提取您需要的数据,请执行以下操作:
提取星期几的数字
>>> from datetime import datetime
>>> datetime.now().weekday()
6
使用replace()
对象的datetime
函数拉取当月的第一天:
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2012, 3, 3, 21, 41, 20, 953000)
>>> first_day_of_the_month = datetime.now().replace(day=1)
>>> first_day_of_the_month
datetime.datetime(2012, 3, 1, 21, 41, 20, 953000)
编辑:正如J.F. Sebastian在评论中建议的那样,datetime
个对象有weekday()
个方法,这使得使用int(given_date.strftime('%w'))
毫无意义。我已经更新了上面的答案。