我有这个简单的问题,但由于某种原因,它让人头痛。我想添加一个现有的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'
答案 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')