Convert YYYYMXX to date in pandas dataframe

Viewed 56

Input df

Date
2016M01
2016M02
2016M03
..

Output df

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

How do I convert the input dataframe in such a format?

2 Answers

try, pd.to_datetime with format as %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

Small answer is:

>>> 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
Related