如何在Python中重新排列周数

问题描述 投票:0回答:1

我正在尝试按升序重新排列星期数。

例如,我首先从当前日期(2020年2月10日)中提取前十周。然后,我使用timedf['week'] = df['time'].dt.week变量(YYYY-MM-DD格式)转换为星期。

[周数的一个问题是,从2020年2月10日开始的十周是2019年12月2日。因此,2019年12月2日至2019年12月8日是2019年的第49周,而2019年12月9日至12月15日是第49周。 2019年第50周,依此类推。但是,我希望我的周从第1周开始,而不是从第49周开始。因此,我想将第49周转换为第1周,将第50周转换为第2周,从第51周转换为第3周,从第52周转换为第4周,第1周转换为第4周。第5周,依此类推。

由于我不想手动执行此操作,有没有一种有效的方法来执行此操作?

python datetime week-number
1个回答
0
投票

我相信df['week'] = (df['time'].dt.week - 48) % 52会给您正确的结果。

48在这里似乎是一个“魔术数字”,但实际上是starting week - 1


0
投票

我认为如果您使用dt.weekofyear,您将获得预期的输出

© www.soinside.com 2019 - 2024. All rights reserved.