Это связано с ограничениями временных меток: см. Эту публикацию о за пределами наносекундной временной отметки .
Поэтому я предлагаю исправить столбец как строку перед тем, как превратить его в столбец даты и времени, следующим образом:
import pandas as pd
import re
df = pd.DataFrame({"A": ["2019-10-04", "0019-04-02", "0018-06-08", "2018-07-08"]})
# I look for every date starting with zero and another number and replace by 20
r = re.compile(r"^0[0-9]{1}")
df["A"] = df["A"].apply(lambda x: r.sub('20', x))
# then I transform to datetime
df["A"] = pd.to_datetime(df["A"], format='%Y-%m-%d')
df
Вот результат
A
0 2019-10-04
1 2019-04-02
2 2018-06-08
3 2018-07-08
Вы перед тем, как применить это, нужно убедиться, что у вас могут быть только даты в 20XX
(где X - любое число), а не даты в 19XX
или других.