减去数据框中的两行值 python

Substract two row values in dataframe python

目前我有一种数据框,我想从当前行中减去前一行的值。

示例: df = pd.Datafame([1,4,3,5,6],columns = ["time")])

left
1
4
3
5
6

我想遍历这些行并将其存储在列表中。所以列表会变成这样 [-3,1,-2,-1].

到目前为止我有这个

 list = []
    
    for index, row in df.iterrows():
          list.append(row['time'])

现在 for 循环只在遇到行时将值存储在列表中。我怎样才能改变它,它从前一个值中减去当前值并将其存储在列表中?

感谢您的帮助

df['time'].diff(-1).tolist()[:-1]
>>> [-3.0, 1.0, -2.0, -1.0]

您可以使用 .shift(-1):

df['time'] = df['left'] - df['left'].shift(-1)

或者如果您需要它作为列表:

(df['left'] - df['left'].shift(-1)).tolist()