创建数组中两个相邻数字之间的 col 差异数组 python/pyspark

Create array of differences in col between two adjacent numbers in an array python/pyspark

我有一列由数字组成的数组,即 [0,80,160,220],我想创建一列包含相邻项之间差异的数组,即 [80,80,60]

有人知道如何在 Python 或 PySpark 中解决这个问题吗?我正在考虑一些迭代的东西(第一个学期减去第 i-1 个学期,从第二个学期开始),但我真的不知道如何编码。谢谢!

编辑:

d=[0,80,160,220]
df=pd.DataFrame(d,columns= ['col_list'])
df['col_new']=df['col_list'].diff()
print(df)
#output
   col_list  col_new
0   0        NaN
1   80       80.0
2   160      80.0
3   220      60.0

另外,如果你想删除带有NaN的行,你可以这样做:

df.dropna(subset = ['col_new'])

#output

   col_list  col_new
1   80       80.0
2   160      80.0
3   220      60.0