I am trying to convert one of the dataframes I have to year-week format to use it in my time series modeling, but I am not sure how would I be able to do this?
Here is my code:
import pandas as pd import numpy as np c=15 s={'week':[1,2,3,4,5,6,7,8],'Sales':[10,20,30,40,50,60,70,80]} p=pd.DataFrame(data=s)
Output-
Desired O/p in week column should be in date time format.
The datatype was an int in the 1st dataframe, but needs to be in datetime, where 2021 is year and 1 is week. (1st week of year 2021) How would I be able to do this?
Advertisement
Answer
You can use .apply()
:
import datetime p['week'] = p['week'].apply( lambda x: datetime.datetime.strptime(f'2021-{x:02}-1', '%Y-%W-%u') )
This outputs:
week Sales 0 2021-01-04 10 1 2021-01-11 20 2 2021-01-18 30 3 2021-01-25 40 4 2021-02-01 50 5 2021-02-08 60 6 2021-02-15 70 7 2021-02-22 80