Ошибка при использовании pd.to_datetime для преобразования строковых дат в формат datetime - PullRequest
0 голосов
/ 17 мая 2018

У меня проблемы с использованием команды pd.to_datetime для обработки дат, считываемых из файла csv.Когда csv читается, формат дат выглядит следующим образом;

01/01/2015
02/01/2015
etc

Мне нужно выполнить некоторые операции с датами, поэтому я хотел преобразовать в datetime и сделал это, используя следующую команду на df

wind.Date = pd.to_datetime(wind.Date).dt.date

После использования этого шагастолбец wind.Date данных имеет следующий формат;

2015-01-01
2015-02-01
etc etc

Это нормально, за исключением того, что при определенных числах (т. Е. Выше 12 числа каждого месяца) формат переключается на;

2015-01-13

Что, очевидно, не согласовано, и оно возвращается обратно, как только попадает в начало следующего месяца и т. Д.

Таким образом, при использовании команд date.month и date.yearв этой колонке с разным порядком размещения по месяцам и датам это не работает.

Любые советы, которые высоко ценятся.

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Вы можете управлять форматом даты в pd.to_datetime и pd.Series.dt.date:

pd.to_datetime(wind.Date, format="%d/%m/%Y").dt.date.strftime('%Y-%m-%d')

например.

0 голосов
/ 17 мая 2018

Вам необходимо указать формат строки datetime, чтобы убедиться, что даты читаются как положено, как в:

pd.to_datetime(wind.Date, format="%d/%m/%Y")

Для получения дополнительной информации см. Документацию по функции , и ссылка на форматирование строки даты .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...