在 python 中取每个值与它前面的值的差值

Take the difference of each value from the value before it in python

我的 csv 文件在一列中有这样的值:

1
9
5
7
3

如何计算 :

之间的差异
1-0=1   #(A1)
9-1=8   #(A2-A1)
5-2=3   #(A3-A2)
7-3=4   #(A4-A3)
3-7= -4  #(A5-A4)

这是结果:

1 8 3 4 -4

并将结果放在同一个 csv 文件的第二列中?

data = {'Numbers' : [234,-435,38,56,-4567,34,998]}
df = pd.DataFrame(data)
df['diff'] = df['Numbers'].rolling(window=2).apply(lambda x: x.iloc[1] - x.iloc[0]).fillna(df.Numbers.iloc[0])

第一行将是 NaN,以避免将 fillna 添加到零

输出:

   Numbers    diff
0      234   234.0
1     -435  -669.0
2       38   473.0
3       56    18.0
4    -4567 -4623.0
5       34  4601.0
6      998   964.0