Я пытаюсь преобразовать столбец даты в моем Pandas DataFrame в формат даты и времени. Если я не укажу формат даты, он будет работать нормально, но затем в коде возникают проблемы из-за разных форматов времени.
Исходные даты выглядят так: 10/10/2019 6:00
в европейском формате даты.
Я попытался указать формат следующим образом:
df['PeriodStartDate'] = pd.to_datetime(df['PeriodStartDate'],
format="%d/%m/%Y")
, что привело к ошибке: unconverted data remains 6:00
Затем я попытался обновить директиву формата до format="%d/%m/%Y %-I/%H"
, которая появляетсяс другой ошибкой: '-' is a bad directive in format '%d/%m/%Y %-I/%H'
, хотя я думал, что to_datetime
использует те же директивы и strftime
, а в последнем %-I
разрешено.
В отчаянии я решил отрубить конецстрока, так как мне действительно не нужны часы и минуты:
df['PeriodStartDate'] = df['PeriodStartDate'].str[:10]
df['PeriodStartDate'] = pd.to_datetime(df['PeriodStartDate'],
format="%d/%m/%Y")
Но это еще раз приводит к ошибке: ValueError: unconverted data remains:
, что, конечно, связано с тем, что некоторые даты имеют 9 цифр, например 3/10/2019 6:00
Не совсем уверен, куда идти отсюда.