Преобразуйте YYYYMXX в дату в фрейме данных pandas

#python #pandas #datetime

Вопрос:

Вход df

 Date
2016M01
2016M02
2016M03
..
 

Выход df

 Date
2016-01-01
2016-02-01
2016-03-01
.
.
 

Как преобразовать входной кадр данных в такой формат?

Ответ №1:

попробуйте, pd.to_datetime используя формат как %YM%m

 pd.to_datetime(df['Date'], format="%YM%m").dt.strftime('%Y-%m-%d')
 

 0    2016-01-01
1    2016-02-01
2    2016-03-01
Name: Date, dtype: object
 

Ответ №2:

Небольшой ответ таков:

 >>> import pandas
>>> df = pandas.DataFrame({"Date" :["2016M03","2016M02","2016M01"])
>>> df
      Date
0  2016M03
1  2016M02
2  2016M01

>>> df['Date'] = pandas.to_datetime(df['Date'], format="%YM%m")
>>> df
        Date
0 2016-03-01
1 2016-02-01
2 2016-01-01