从2列创建日期对象

时间:2016-12-23 00:02:42

标签: python datetime pandas

我有两列:

dt_year, dt_month
2014     3

我需要一个日期栏。

我尝试过类似的事情:

pd.to_datetime((df.dt_year + df.dt_month +1).apply(str),format='%Y%m%d')

但是我收到了一个错误:

ValueError: time data '2014' does not match format '%Y%m%d' (match)

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

首先,将列名更改为更正常的名称。然后添加'day'列。

df.columns = df.columns.str.replace('dt_', '')
df['day'] = 1

df

   year  month  day
0  2014      3    1

然后神奇发生了

pd.to_datetime(df)

0   2014-03-01
dtype: datetime64[ns]