Следуя указаниям в комментарии @ pygo, я обнаружил, что моя ошибка заключалась в том, чтобы попытаться прочитать данные как
df['Date'] = pd.to_datetime(df['Date']).dt.date
Это будет так, как этот ответ объясняет:
Это связано с тем, что pandas возвращается к dateutil.parser.parse для анализа строк, когда он имеет формат не по умолчанию или когда строка формата не указана (это гораздо более гибко, но и медленнее).
Как вы показали выше, вы можете улучшить производительность, предоставив строку формата to_datetime.Или другой вариант - использовать infer_datetime_format = True
При использовании любого из анализаторов даты из приведенных выше ответов мы переходим к циклу for.Кроме того, когда мы указываем желаемый формат (вместо того, который у нас есть) в pd.to_datetime, мы также переходим в цикл for.
Следовательно, вместо того, чтобы делать
df['Date'] = pd.to_datetime(df['Date'],format='%Y-%m-%d')
или
df['Date'] = pd.to_datetime(df['Date']).dt.date
, мы должны сделать
df['Date'] = pd.to_datetime(df['Date'],format='%m/%d/%Y').dt.date
, предоставив текущий формат данных, это очень быстро читается в формате datetime.Затем, используя .dt.date, быстро изменить его на новый формат без анализатора.
Спасибо всем, кто помог!