合并年和周列以在Python中创建日期时间和排序

时间:2019-12-13 06:15:18

标签: python pandas datetime calendar

样本数据

  return new Promise((resolve, reject) => {
-    exec(resolve, reject, 'ProcessLog', func, [...args]);
+    exec(resolve, reject, 'CDVProcessLog', func, [...args]);
  });

下面是我尝试过的代码

Year  Week_No  Value
2015   52       3
2016   2        7
2015   51       5
2016   1        6
2015   50       4

如何继续创建日期时间列?

2 个答案:

答案 0 :(得分:3)

我认为在熊猫中最好使用to_datetime,并在一周中的最后一天加上最后一个值-1

df['datetime'] = pd.to_datetime(df.Year.astype(str) + '-' + 
                                df.Week_No.astype(str) + '-1', format="%Y-%W-%w")

print (df)
   Year  Week_No  Value   datetime
0  2015       52      3 2015-12-28
1  2016        2      7 2016-01-11
2  2015       51      5 2015-12-21
3  2016        1      6 2016-01-04
4  2015       50      4 2015-12-14

答案 1 :(得分:2)

您可以尝试以下方法:

df['datetime'] = df.apply(lambda x: datetime.datetime.strptime(str(x.Year) + '-' + str(x.Week_No) + '-1', "%Y-%W-%w"), axis=1)

输出:

   Year  Week_No  Value   datetime
0  2015       52      3 2015-12-28
1  2016        2      7 2016-01-11
2  2015       51      5 2015-12-21
3  2016        1      6 2016-01-04
4  2015       50      4 2015-12-14