我有一个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