Използването на pd.to_datetime() за всеки елемент работи. Опция 4, която не работи, прилага pd.to_datetime() към цялата серия. Може би драйверът на Postgres разбира python datetime, но не и datetime64 в pandas &numpy. Опция 4 даде правилния изход, но получих ValueError (вижте заглавието) при изпращане на DF към Postgres
timesAsPyDt = (spy0030Df['dt']).apply(lambda d: pd.to_datetime(str(d)))