Как преобразовать строку Serie в datetime с и без времени - PullRequest
1 голос
/ 16 июня 2019

При преобразовании Series из string в datetime с использованием функции astype, если строка не имеет компонента времени, она принимает различные варианты поведения при преобразовании и меняет месяц и день в одном и том же Series.Как правильно преобразовать Series?

df_date=pd.DataFrame(['12/07/2013 21:50:00','13/07/2013 00:30:00','15/07/2013','11/07/2013'], columns=['Date'])

print(df_date.Date.dtype)

df_date.Date = pd.to_datetime(df_date.Date, format="%d/%m/%Y %H:%M:%S", exact=False, dayfirst=True, errors='ignore')

print(df_date.Date.dtype)

df_date

ВЫХОД:

    Date

0   12/07/2013 21:50:00
1   13/07/2013 00:30:00
2   15/07/2013
3   11/07/2013

При выполнении:

df_date.Date = df_date.Date.astype('datetime64')

он становится типа datetime:

print(df_date.Date.dtype)

но при преобразовании он имеет два различных поведения:

df_date

ВЫХОД:

    Date

0   2013-12-07 21:50:00
1   2013-07-13 00:30:00
2   2013-07-15 00:00:00
3   2013-11-07 00:00:00

Ожидаемый результат в моем уме будет:

    Date
0   2013-07-12 21:50:00
1   2013-07-13 00:30:00
2   2013-07-15 00:00:00
3   2013-07-11 00:00:00

Вместо смены дня и месяца в строках 0 и 3.

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