Getting start date of week from week number

Viewed 41

I have a list like this lst = [25,26,27]

numbers: 25, 26, 27 are the week number.

For each number from list I would like to have a start date, e.x. for week 25 the start date is 2022-06-21 (week starts on Monday).

Please, can someone help?

I have tried sth like

import datetime
from dateutil.relativedelta import relativedelta
week = 25
year = 2021
date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)
print(date) 

but it doesn;t work.

1 Answers

IIUC, you can use to_datetime:

lst = [25,26,27]
year = 2021

out = pd.to_datetime(pd.Series(lst).astype(str)+str(year)+'Mon', format='%W%Y%a')

output:

0   2021-06-21
1   2021-06-28
2   2021-07-05
dtype: datetime64[ns]

intermediate:

pd.Series(lst).astype(str)+str(year)+'Mon'

0    252021Mon
1    262021Mon
2    272021Mon
dtype: object
Related