创建一年的每小时系列

时间:2019-06-17 15:39:55

标签: python pandas datetime

我无法在给定年份的每个小时(作为Pandas Series个对象)中创建一个datetime,而无需重复进行最后一个小时的添加,这很慢。有什么办法可以并行执行。

我的输入应该是一年,而输出应该是该年每一小时的Pandas Series

1 个答案:

答案 0 :(得分:4)

您可以将freq='H'pd.date_range一起使用,这是每小时的频率:

在@ALollz发表评论后用23:00:00编辑

year = 2019

pd.Series(pd.date_range(start=f'{year}-01-01', end=f'{year}-12-31 23:00:00', freq='H'))

0      2019-01-01 00:00:00
1      2019-01-01 01:00:00
2      2019-01-01 02:00:00
3      2019-01-01 03:00:00
4      2019-01-01 04:00:00
5      2019-01-01 05:00:00
6      2019-01-01 06:00:00
7      2019-01-01 07:00:00
8      2019-01-01 08:00:00
9      2019-01-01 09:00:00
10     2019-01-01 10:00:00
11     2019-01-01 11:00:00
12     2019-01-01 12:00:00
13     2019-01-01 13:00:00
14     2019-01-01 14:00:00
15     2019-01-01 15:00:00
16     2019-01-01 16:00:00
17     2019-01-01 17:00:00
18     2019-01-01 18:00:00
19     2019-01-01 19:00:00
20     2019-01-01 20:00:00
21     2019-01-01 21:00:00
22     2019-01-01 22:00:00
23     2019-01-01 23:00:00
24     2019-01-02 00:00:00
25     2019-01-02 01:00:00
26     2019-01-02 02:00:00
27     2019-01-02 03:00:00
28     2019-01-02 04:00:00
29     2019-01-02 05:00:00
30     2019-01-02 06:00:00
31     2019-01-02 07:00:00
32     2019-01-02 08:00:00
33     2019-01-02 09:00:00
34     2019-01-02 10:00:00
35     2019-01-02 11:00:00
36     2019-01-02 12:00:00
37     2019-01-02 13:00:00
38     2019-01-02 14:00:00
39     2019-01-02 15:00:00
40     2019-01-02 16:00:00
41     2019-01-02 17:00:00
42     2019-01-02 18:00:00
43     2019-01-02 19:00:00
44     2019-01-02 20:00:00
45     2019-01-02 21:00:00
46     2019-01-02 22:00:00
47     2019-01-02 23:00:00
48     2019-01-03 00:00:00
49     2019-01-03 01:00:00
               ...        
8711   2019-12-29 23:00:00
8712   2019-12-30 00:00:00
8713   2019-12-30 01:00:00
8714   2019-12-30 02:00:00
8715   2019-12-30 03:00:00
8716   2019-12-30 04:00:00
8717   2019-12-30 05:00:00
8718   2019-12-30 06:00:00
8719   2019-12-30 07:00:00
8720   2019-12-30 08:00:00
8721   2019-12-30 09:00:00
8722   2019-12-30 10:00:00
8723   2019-12-30 11:00:00
8724   2019-12-30 12:00:00
8725   2019-12-30 13:00:00
8726   2019-12-30 14:00:00
8727   2019-12-30 15:00:00
8728   2019-12-30 16:00:00
8729   2019-12-30 17:00:00
8730   2019-12-30 18:00:00
8731   2019-12-30 19:00:00
8732   2019-12-30 20:00:00
8733   2019-12-30 21:00:00
8734   2019-12-30 22:00:00
8735   2019-12-30 23:00:00
8736   2019-12-31 00:00:00
8737   2019-12-31 01:00:00
8738   2019-12-31 02:00:00
8739   2019-12-31 03:00:00
8740   2019-12-31 04:00:00
8741   2019-12-31 05:00:00
8742   2019-12-31 06:00:00
8743   2019-12-31 07:00:00
8744   2019-12-31 08:00:00
8745   2019-12-31 09:00:00
8746   2019-12-31 10:00:00
8747   2019-12-31 11:00:00
8748   2019-12-31 12:00:00
8749   2019-12-31 13:00:00
8750   2019-12-31 14:00:00
8751   2019-12-31 15:00:00
8752   2019-12-31 16:00:00
8753   2019-12-31 17:00:00
8754   2019-12-31 18:00:00
8755   2019-12-31 19:00:00
8756   2019-12-31 20:00:00
8757   2019-12-31 21:00:00
8758   2019-12-31 22:00:00
8759   2019-12-31 23:00:00
8760   2020-01-01 00:00:00
Length: 8761, dtype: datetime64[ns]

注意,如果您的Python版本低于3.6,请使用.format进行字符串格式化:

year = 2019

pd.Series(pd.date_range(start='{}-01-01'.format(year), end='{}-01-01 23:00:00'.format(year), freq='H'))