Pandas 如何通过将相应的日期列添加到今天来创建新的日期列';用熊猫约会

Pandas 如何通过将相应的日期列添加到今天来创建新的日期列';用熊猫约会,pandas,datetime,Pandas,Datetime,我的数据帧df的最后一列如下所示: ... Days till Service 0 ... 0 1 ... 28 2 ... 7 3 ... 54 4 ... 0 5 ... 6 6 ... 28 7 ...

我的数据帧
df
的最后一列如下所示:

    ...   Days till Service
0   ...                   0
1   ...                  28
2   ...                   7
3   ...                  54
4   ...                   0
5   ...                   6
6   ...                  28
7   ...                   0
8   ...                  16
9   ...                 200
问题:

我想创建一个名为
Predicted Service Date
的新列,在该列中,我可以将
到服务日期的天数添加到今天的日期。我该怎么做

理想输出:

如果今天的日期是2018年4月16日,则df应如下所示:

    ...   Days till Service   Predicted Service Date
0   ...                   0               16/04/2018
1   ...                  28               14/05/2018
2   ...                   7               23/04/2018
3   ...                  54               09/06/2018
4   ...                   0               16/04/2018
5   ...                   6               22/04/2018
6   ...                 365               16/04/2019
7   ...                   0               16/04/2018
8   ...                  16               02/05/2018
9   ...                 200               02/11/2018
使用,您可以将
df['Days till Service']
转换为TimeDelta,然后将其添加到今天的日期:

df['Predicted Service Date'] = \
    pd.to_datetime('today') + pd.to_timedelta(df['Days till Service'], unit='D')

您要做的是定义一个日期偏移量,然后将其添加到日期时间。熊猫也接受
datetime()
Timestamp
,因此可以随意使用

您可以使用
Day
定义
offset
,首先将偏移序列转换为
Day
offset类,然后将任何起点的日期时间添加到其中

from pandas.tseries.offsets import Day
from datetime import datetime
df['Predicted Service Date'] = df['Days till Service'].apply(Day) + datetime(2018, 4, 17) #Or What everdate you would like

打字错误-timedetas应该是TimeDeltas解释你的答案,以便其他人将来可以从中受益。我简单地解释了一下,请随意编辑或反馈:)