我正在尝试使用python创建自己的自定义星期几映射。我使用了一些不同的方法,如dayofweek
和isoweekday
。然而,所有这些并不能为我提供我需要的东西。
0 2026-01-01 00:00:00
1 2026-01-01 01:00:00
2 2026-01-01 02:00:00
3 2026-01-01 03:00:00
4 2026-01-01 04:00:00
5 2026-01-01 05:00:00
6 2026-01-01 06:00:00
7 2026-01-01 07:00:00
8 2026-01-01 08:00:00
9 2026-01-01 09:00:00
10 2026-01-01 10:00:00
11 2026-01-01 11:00:00
12 2026-01-01 12:00:00
13 2026-01-01 13:00:00
14 2026-01-01 14:00:00
15 2026-01-01 15:00:00
16 2026-01-01 16:00:00
17 2026-01-01 17:00:00
18 2026-01-01 18:00:00
19 2026-01-01 19:00:00
Name: Date, dtype: datetime64[ns]
It contiunes to
0 2026-01-01 00:00:00
1 2026-01-01 01:00:00
2 2026-01-01 02:00:00
3 2026-01-01 03:00:00
4 2026-01-01 04:00:00
95 2026-01-04 23:00:00
96 2026-01-05 00:00:00
97 2026-01-05 01:00:00
98 2026-01-05 02:00:00
99 2026-01-05 03:00:00
example of my code
power_data['Day of Week'] = power_data['Date'].dt.dayofweek+1
power_data['Day of Weekv2'] = power_data['Date'].dt.isoweekday
上面是我的数据帧的一个示例部分,我想遵循的数据格式是Sunday是1,monday是2…等等,Saturday等于7。请让我知道,如果我能做到这一点,它目前呈现的
根据熊猫平日的文档,它提到:
星期一=0,星期日=6的星期几。
这意味着,你只需要在工作日的值上加2,因为你想把星期一从0变为2,然后取8 的模
# df is your dataframe, and date is the column name consisting pandas Timestamp
>>> (df['date'].dt.weekday+2)%8
#output:
0 5
1 5
2 5
3 5
4 5
5 5
6 5
7 5
8 5
9 5
10 5
11 5
12 5
13 5
14 5
15 5
16 5
17 5
18 5
Name: date, dtype: int64