Reputation:
I have df
ID month
0 0001ee12f919a1b570658024bb59d118 2014-02
1 0001ee12f919a1b570658024bb59d118 2014-03
2 0001ee12f919a1b570658024bb59d118 2014-04
3 0001ee12f919a1b570658024bb59d118 2014-05
4 0001ee12f919a1b570658024bb59d118 2014-06
5 0001ee12f919a1b570658024bb59d118 2014-07
and I try to turn year_month
to datetime.
I use df1['month'] = pd.to_datetime(df1.month)
but it return ValueError: Unknown string format
how can I fix that?
Upvotes: 0
Views: 3088
Reputation: 394439
You need to pass a format string '%Y-%m'
as to_datetime
can't deduce the format from your string:
In [42]:
df['date'] = pd.to_datetime(df['month'], format='%Y-%m')
df
Out[42]:
ID month date
0 0001ee12f919a1b570658024bb59d118 2014-02 2014-02-01
1 0001ee12f919a1b570658024bb59d118 2014-03 2014-03-01
2 0001ee12f919a1b570658024bb59d118 2014-04 2014-04-01
3 0001ee12f919a1b570658024bb59d118 2014-05 2014-05-01
4 0001ee12f919a1b570658024bb59d118 2014-06 2014-06-01
5 0001ee12f919a1b570658024bb59d118 2014-07 2014-07-01
In [43]:
df.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 6 entries, 0 to 5
Data columns (total 3 columns):
ID 6 non-null object
month 6 non-null object
date 6 non-null datetime64[ns]
dtypes: datetime64[ns](1), object(2)
memory usage: 192.0+ bytes
Upvotes: 1