Pandas的日期范围和闰年

2024-06-28 20:24:45 发布

您现在位置:Python中文网/ 问答频道 /正文

运行此代码时:

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)

我得到了:

^{pr2}$

所以闰年的问题。 尽管有闰年,我怎么能在两个日期之间只有一个日历年呢?在


Tags: 代码indataframedffordatetimedatedt
1条回答
网友
1楼 · 发布于 2024-06-28 20:24:45

与其使用date_range,不如使用列表理解来创建:

In [11]: pd.to_datetime(["%s-12-09 %s:00:00" % (y, (6 * h) % 24)
                             for h, y in enumerate(xrange(1959, 2014))])
Out[11]: 
<class 'pandas.tseries.index.DatetimeIndex'>
[1959-12-09 00:00:00, ..., 2013-12-09 12:00:00]
Length: 55, Freq: None, Timezone: None

频率是无,因为这不是一个固定的频率。。。如果你尝试添加一个新的年份和一个新的小时,你会看到:

^{pr2}$

相关问题 更多 >