Pandas преобразование столбцов формата datetime с 31JAN2020 на 2020-01-31 - PullRequest
1 голос
/ 09 июля 2020

У меня есть фрейм данных со столбцом:

Date
31Jan20
31Jan20
3Mar20
3Mar20

Я пытаюсь преобразовать его в

Date
2020-01-31
2020-01-31
2020-03-03
2020-03-03

Мне удалось преобразовать каждую дату в отдельную дату на

datetime.datetime.strptime(date1, '%d%b%Y').strftime('%Y-%m-%d')

, но когда я пытаюсь преобразовать столбец, он не работает

test['date_fmt']  = pd.to_datetime(test["date"].strptime('%d%b%Y').strftime('%Y-%m-%d'))

ошибка: объект 'Series' не имеет атрибута 'strptime'

Может кто-нибудь любезно поможет? спасибо!

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

вы также можете создать новую дату DataFrame:

pd.date_range (start = '1/1/2020', end = '1/03/2020')

дополнительная информация https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.date_range.html

0 голосов
/ 09 июля 2020

Просто передайте df['Date'] прямо в pd.to_datetime и приведите результат к str

s = pd.to_datetime(df['Date'], errors='coerce').astype(str)

Out[867]:
0    2020-01-31
1    2020-01-31
2    2020-03-03
3    2020-03-03
Name: Date, dtype: object

Примечание : Исходя из ваших кодов, я предполагаю, что вы хотите, чтобы окончательный результат был строковый формат даты.

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