Преобразование строки, содержащей год и номер недели, в datetime в Pandas

У меня есть столбец в фрейме данных Pandas, который содержит год и номер недели (от 1 до 52) в одной строке в следующем формате: "2017_03" (что означает 3-ю неделю года 2017).

Я хочу преобразовать столбец в datetime, и я использую функцию pd.to_datetime(). Однако я получаю исключение:

pd.to_datetime('2017_01',format = '%Y_%W')
ValueError: Cannot use '%W' or '%U' without day and year

С другой стороны, в документации strftime упоминается, что:

Я не уверен, что я делаю неправильно.

Ваш совет будет оценен.

1 ответ

Решение

Вам также необходимо определить начальный день:

a = pd.to_datetime('2017_01_0',format = '%Y_%W_%w')
print (a)
2017-01-08 00:00:00

a = pd.to_datetime('2017_01_1',format = '%Y_%W_%w')
print (a)
2017-01-02 00:00:00

a = pd.to_datetime('2017_01_2',format = '%Y_%W_%w')
print (a)
2017-01-03 00:00:00
Другие вопросы по тегам