jchilton
jchilton

Reputation: 39

Convert object year-week to datetime format

I have the data as below:

    New_Time    Visitors
0   2016-01 4.709530
1   2016-02 4.219508
2   2016-03 4.094345
3   2016-04 4.488636
4   2016-05 4.584967

New_time format is Year-WeekNumber, but it's currently held as dtype 'object'. I'm trying to convert New_Time from object to datetime dtype, e.g.

df_weekly_vistors_logscale['New_Time'] = df_weekly_vistors_logscale['New_Time'].dt.week

df_weekly_vistors_logscale['New_Time'] = pd.to_datetime(df_weekly_vistors_logscale['New_Time'], format = '%Y%V')

df_weekly_vistors_logscale['New_Time'] = df_weekly_vistors_logscale['New_Time'].dt.strftime('%Y-%W')

None of which are working with various errors. I'm sure the problem is logical but can't figure this one out.

Any help?

Thank you.

Upvotes: 1

Views: 400

Answers (1)

Smaurya
Smaurya

Reputation: 187

Try below

import datetime
def to_datetime(x):
  return datetime.datetime.strptime(x + '-1', "%Y-%W-%w")

df_weekly_vistors_logscale['New_Time'] = df_weekly_vistors_logscale['New_Time'].apply(to_datetime)

Upvotes: 1

Related Questions