Python Преобразование строки (18 марта) в формат даты (201803)

1

У меня есть столбец со значениями, такими как Mar18,Apr18,Jun18. Я пытаюсь преобразовать в формат даты, например 201803,201804,201806. Я написал свой синтаксис, как показано ниже:

pd.to_datetime(df['column'],format'%b%y')

это дало мне столбец 2018-03-01,2018-04-01,2018-06-01.

Как я могу преобразовать его в дату, например, 201803,201804,201806

Какой тип формата я должен использовать.

Примечание. Если это дублированный вопрос, пожалуйста, укажите мне предыдущий вопрос.

Спасибо

Теги:
pandas

1 ответ

0
Лучший ответ
In [19]: pd.to_datetime(['Mar2018'],format='%b%Y').strftime('%Y%m')
Out[19]: Index(['201803'], dtype='object')

PS учтите, что это не datetime dtype - это строка dtype

альтернативно, вы можете преобразовать его в period dtype:

In [28]: df
Out[28]:
    column
0  Aug2014
1  Mar2018
2  Jan2017
3  Jun2016

In [29]: df['new'] = pd.to_datetime(df['column'], format='%b%Y').dt.to_period('M')
In [30]: df
Out[30]:
    column     new
0  Aug2014 2014-08
1  Mar2018 2018-03
2  Jan2017 2017-01
3  Jun2016 2016-06

In [31]: df.dtypes
Out[31]:
column    object
new       object
dtype: object

In [32]: df['new'].dt.daysinmonth
Out[32]:
0    31
1    31
2    31
3    30
Name: new, dtype: int64

Ещё вопросы

Сообщество Overcoder
Наверх
Меню