Pandas:将dataframe列转换为datetime

时间:2016-08-18 11:07:44

标签: python datetime pandas

我有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

我尝试将year_month转为日期时间。 我用df1['month'] = pd.to_datetime(df1.month) 但它返回ValueError: Unknown string format 我该如何解决?

1 个答案:

答案 0 :(得分:1)

您需要传递格式字符串'%Y-%m',因为to_datetime无法从字符串中推断出格式:

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