我正在尝试按升序重新排列星期数。
例如,我首先从当前日期(2020年2月10日)中提取前十周。然后,我使用time
将df['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周,依此类推。
由于我不想手动执行此操作,有没有一种有效的方法来执行此操作?
我相信df['week'] = (df['time'].dt.week - 48) % 52
会给您正确的结果。
48在这里似乎是一个“魔术数字”,但实际上是starting week - 1
。
我认为如果您使用dt.weekofyear
,您将获得预期的输出