Python 3.x 如何将datetime列移位-1,并用前两个值之间的差值填充NaT?

Python 3.x 如何将datetime列移位-1,并用前两个值之间的差值填充NaT?,python-3.x,pandas,Python 3.x,Pandas,我有一个df,如下所示: start values 0 2020-03-01 00:15:00 63.2 1 2020-03-01 00:30:00 61.0 2 2020-03-01 00:45:00 58.9 3 2020-03-01 01:00:00 57.0 4 2020-03-01 01:15:00 55.3 5 2020-03-01 01:30:00 53.7 我正在尝试创建一个名为end的新列,为此我做了: df['end'] = df['st

我有一个
df
,如下所示:

    start   values
0   2020-03-01 00:15:00 63.2
1   2020-03-01 00:30:00 61.0
2   2020-03-01 00:45:00 58.9
3   2020-03-01 01:00:00 57.0
4   2020-03-01 01:15:00 55.3
5   2020-03-01 01:30:00 53.7
我正在尝试创建一个名为
end
的新列,为此我做了:

df['end'] = df['start'].shift(-1)
这将提供以下输出

    start   values    end
0   2020-03-01 00:15:00 63.2 2020-03-01 00:30:00
1   2020-03-01 00:30:00 61.0 2020-03-01 00:45:00
2   2020-03-01 00:45:00 58.9 2020-03-01 01:00:00
3   2020-03-01 01:00:00 57.0 2020-03-01 01:15:00
4   2020-03-01 01:15:00 55.3 2020-03-01 01:30:00
5   2020-03-01 01:30:00 53.7 NaT
我试图用前面两个值之间的差值填充
NaT
,即
NaT
应为

2020-03-01 01:45:00 (2020-03-01 01:30:00 + 15 mins (2020-03-01 01:30:00-2020-03-01 01:15:00))
我试过:

df['end'] = df['start'].shift(-1).diff().ffill()
但它给了我以下错误:

“TimedeltaProperties”对象没有属性“strftime”

我犯了什么错误

df["end"] = df.start.shift(-1).fillna(df.start + df.start.diff())