Формат даты в датафрейме
Имеется датафрейм с датой в формате "2018-12-31", подскажите, пожалуйста, как преобразовать дату в формат "2018-12", при этом сохранив тип "datetime"?
Ответы (1 шт):
Автор решения: passant
→ Ссылка
На сколько я понимаю, вы желаете невозможного. В пакете datetime объект типа date (и соответственно - datetime) ВСЕГДА представляется как составной объект из трех компонент year, month, day. Что легко проверить:
dt=datetime.datetime.strptime('2018-12','%Y-%m')
print(dt)
Результат:
2018-12-01 00:00:00
Что, в общем-то логично: даты без дня не бывает.
Поэтому - либо в строку, и тогда можете отрезать от нее какую хотите часть и делать я ней что хотите:
dt=datetime.datetime.strptime('2018-12-31','%Y-%m-%d').strftime('%Y-%m')
print(dt)
Результат:
2018-12
Или все-таки date (или datetime) но тогда принимаете предложенные "правила игры".