在python中取每个值与前一个值的差值

  • 本文关键字:一个 python python-3.x csv
  • 更新时间 :
  • 英文 :


我有一个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添加到0

输出:

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

相关内容

  • 没有找到相关文章

最新更新