【发布时间】:2017-10-07 04:57:44
【问题描述】:
我正在尝试将带有日期和时间戳的数据框列转换为年-周数格式,即 01-05-2017 03:44 = 2017-1。这很容易,但是,我被困在新年的日期,但他们的周数仍然是前一年的最后一周。同样的事情发生here。
我做了以下事情:
df['WEEK_NUMBER'] = df.date.dt.year.astype(str).str.cat(df.date.dt.week.astype(str), sep='-')
其中 df['date'] 是一个非常大的列,其中包含日期和时间,范围跨越多年。
给出问题的日期例如:
Timestamp('2017-01-01 02:11:27')
我的代码的输出将是 2017-52,而应该是 2016-52。由于数据涵盖多年,并且周数及其对应的日期每年都在变化,我不能简单地减去几天。
有人知道如何解决这个问题吗?谢谢!
【问题讨论】:
-
是否应该将 Timestamp('2017-01-01 02:11:27') 转换为 2017 年第 1 周?