Pandas: How to create a datetime object from Week and Year?

后端 未结 4 1478
慢半拍i
慢半拍i 2020-12-01 14:22

I have a dataframe that provides two integer columns with the Year and Week of the year:

import pandas as pd
import numpy as np
L1 = [43,44,51,2,5,12]
L2 = [         


        
4条回答
  •  春和景丽
    2020-12-01 15:08

    Like @Gianmario Spacagna mentioned for datetimes higher like 2018 use %V with %G:

    L1 = [43,44,51,2,5,12,52,53,1,2,5,52]
    L2 = [2016,2016,2016,2017,2017,2017,2018,2018,2019,2019,2019,2019]
    df = pd.DataFrame({"Week":L1,"Year":L2})
    
    
    df['new'] = pd.to_datetime(df.Week.astype(str)+
                               df.Year.astype(str).add('-1') ,format='%V%G-%u')
    print (df)
        Week  Year        new
    0     43  2016 2016-10-24
    1     44  2016 2016-10-31
    2     51  2016 2016-12-19
    3      2  2017 2017-01-09
    4      5  2017 2017-01-30
    5     12  2017 2017-03-20
    6     52  2018 2018-12-24
    7     53  2018 2018-12-31
    8      1  2019 2018-12-31
    9      2  2019 2019-01-07
    10     5  2019 2019-01-28
    11    52  2019 2019-12-23
    

提交回复
热议问题