pandas将值列添加到日期时间

时间:2018-01-16 23:24:32

标签: python pandas datetime dataframe

我有这个简单的问题,但由于某种原因,它让人头痛。我想添加一个现有的Date列和另一列来获取newDate列。

例如:我有Date和n列,我想将NewDate列添加到现有的df中。

DF:

Date         n     NewDate (New Calculation here: Date + n)    
05/31/2017   3     08/31/2017  
01/31/2017   4     05/31/2017
12/31/2016   2     02/28/2017

我试过了:

df['NewDate'] = (pd.to_datetime(df['Date']) + MonthEnd(n)) 

但是我收到一条错误说"无法将系列转换为类' int'

1 个答案:

答案 0 :(得分:2)

您可能正在寻找带有timedelta对象的附加内容。

v = pd.to_datetime(df.Date) + (pd.to_timedelta(df.n, unit='M'))
v

0   2017-08-30 07:27:18
1   2017-06-01 17:56:24
2   2017-03-01 20:58:12
dtype: datetime64[ns]

最后,您可以将结果转换回与之前相同的格式 -

df['NewDate'] = v.dt.strftime('%m/%d/%Y')