У Pandas нет проблем, связанных с вашими выборочными данными, потому что они явно присутствуют в US нотации , за исключением случая '20/09/2018'
, где 20
не может быть месяцем, с которым у Pandas нет проблемлибо.
Однако, если входные данные содержат, например, '10/09/2018'
(как было упомянуто в комментариях), где невозможно различить день и месяц, если только не приняты обозначения США или заранее не известно, что абсолютно вседаты в сентябре.
Так как последнее, кажется, имеет место, вы можете сделать
df['date'].map(lambda x: pd.datetime(x.year, x.day, x.month)
if (x.month != 9) & (x.day == 9)
else x)
0 2018-09-10
1 2018-09-20
2 2018-09-05