Я использую pandas.to_datetime
, чтобы разобрать даты в моих данных. Pandas по умолчанию представляет даты с datetime64[ns]
, хотя даты указаны только ежедневно. Интересно, есть ли элегантный/умный способ конвертировать даты в datetime.date
или datetime64[D]
, так что, когда я пишу данные в CSV, даты не добавляются с 00:00:00
. Я знаю, что могу преобразовать тип вручную элемент-на-элемент:Сохранять только дату при использовании pandas.to_datetime
[dt.to_datetime().date() for dt in df.dates]
Но это очень медленно, так как у меня есть много строк, и это своего рода поражения цели использования pandas.to_datetime
. Есть ли способ конвертировать dtype
всего столбца сразу? Или, наоборот, pandas.to_datetime
поддерживает спецификацию точности, чтобы я мог избавиться от временной части при работе с ежедневными данными?
Я не знаю хороший способ, но 'df.dates.apply (лямбда х: x.date())' должны быть хотя бы немного быстрее. также посмотрите https://github.com/pydata/pandas/issues/2583 – root
возможный дубликат [Как указать формат даты при использовании pandas.to \ _csv?] (http://stackoverflow.com/questions/ 13999850/how-to-define-date-format-when-using-pandas-to-csv) – unutbu
Я бы рассмотрел эти два вопроса как разные. Возможный дубликат, на который вы ссылаетесь, направлен на разделение части детали и времени даты из столбца datetime. Этот вопрос мотивирован преобразованием всего столбца сразу. Представьте, что у вас есть dataframe с 20 столбцами, которые представляют даты. Вы не хотите указывать, какие столбцы писать в csv, как это было предложено в другом вопросе. – ezbentley