【发布时间】:2014-01-06 20:17:14
【问题描述】:
运行此代码时:
a = pd.date_range("1959-12-09 00:00:00", "2013-12-09 12:00:00", freq = "365D6H")
weekDays = [dt.datetime.weekday(d) for d in a]
df = pd.DataFrame({"Date": a, "Jour": weekDays})
df.head(6)
我明白了:
0 1959-12-09 00:00:00 2
1 1960-12-08 06:00:00 3 *
2 1961-12-08 12:00:00 4
3 1962-12-08 18:00:00 5
4 1963-12-09 00:00:00 0
5 1964-12-08 06:00:00 1 *
6 1965-12-08 12:00:00 2
还有闰年的问题。 尽管有闰年,我怎么能在日期之间恰好有一个日历年?
【问题讨论】:
-
您想在年份数字上加上六个小时?还是您只想将年份增加一?如果您使用
freq='1A',我会说日历年的定义是正确的...但也许您可以详细说明? -
我增加了六个小时,希望每年都有确切的生日(包括闰年),因为“365D”我得到了错误的结果,一年是 365.25...“1A”我得到了每个确切的年份,但在 12 月 31 日,这不是感兴趣的生日!
标签: python pandas date-range leap-year