Warm tip: This article is reproduced from serverfault.com, please click

python-如何将24小时划分为96个季度?

(python - How to divide 24 hours into 96 quarters?)

发布于 2020-11-30 12:05:07

我正在尝试提出一些逻辑,将24小时干净地划分为96个季度,但我无法弄清楚。我有一个Python Pandas数据框,显示每个时间戳的小时和季度。看起来像这样

Timestamp              | Hour |  Quarter
----------------------------------------
2020-11-01 05:00:00+01    5        1
2020-11-01 05:15:00+01    5        2
2020-11-01 05:30:00+01    5        3
2020-11-01 05:45:00+01    5        4
2020-11-01 06:00:00+01    6        1
2020-11-01 06:15:00+01    6        2
2020-11-01 06:30:00+01    6        3
2020-11-01 06:45:00+01    6        4

因此,这里显示了每个小时的季度(每个小时有4个季度)。但是现在我希望整天有96个季度。所以我要添加一列:

Timestamp              | Hour |  Quarter  | Q's
------------------------------------------------
2020-11-01 05:00:00+01    5        1         21
2020-11-01 05:15:00+01    5        2         22
2020-11-01 05:30:00+01    5        3         23
2020-11-01 05:45:00+01    5        4         24
2020-11-01 06:00:00+01    6        1         25
2020-11-01 06:15:00+01    6        2         26
2020-11-01 06:30:00+01    6        3         27
2020-11-01 06:45:00+01    6        4         28

因为我正在使用时区敏感的时间戳,所以我不能仅仅明智地执行此索引。我也不喜欢for循环。我完全想念这里的逻辑是什么?

Questioner
Wouter
Viewed
0
Thomas 2020-11-30 20:07:07

这不就是这个吗?

df["Q's"] = 4 * df["Hour"] + df["Quarter"]