Формат, в котором вы передаете - %d%m%Y
- работает только с датами в очень конкретном формате c.
То есть день с нулем (01, а не 1), заполненный нулями месяц (01-12, только 1 или 3 будет недействительным), а затем полный четырёхдиапазонный git год.
Для дат, у которых значение дня меньше 10, вам сначала нужно дополнить значение с начальным нулем, чтобы оно соответствовало формату.
В вашем примере 2052017
, Pandas пытается проанализировать значение 7-ди git, когда оно должно иметь 8.
Это работает следующим образом:
2052017 -> 20 (день) 52 (месяц, который невозможен) 017X (год, один ди git слишком короткий, чтобы быть действительным).
С добавлением отступов:
02052017 -> 02 (день) 05 (месяц) 2017 (год)
Вы можете использовать метод серии .str.zfill()
, чтобы задать все значения даты правильная длина; обратите внимание, что для этого необходимо, чтобы значения были строками, которые, вероятно, уже есть.
column = column.str.zfill(8)