У меня есть столбец со значениями, такими как 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
Какой тип формата я должен использовать.
Примечание. Если это дублированный вопрос, пожалуйста, укажите мне предыдущий вопрос.
Спасибо
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