Pandas dataframe 如何添加距离上一行的列?

Pandas dataframe how to add column of distance from previous row?

我有一个位置数据框:

df = X    Y 
     1    1
     2    1
     2    1 
     2    2
     3    3
     5    5    
    5.5   5.5  

我想添加一列,其中包含到上一点的距离: 所以它将是:

df = X    Y    Distance
     1    1     0
     2    1     1
     2    1     0
     2    2     1
     3    3     2
     5    5     2
    5.5   5.5   1

最好的方法是什么?

您可以使用pd.Series.diff方法。

例如,要计算欧拉距离,还使用 ​​np.sqrt,您可以这样做:

import numpy as np
df["Distance"] = np.sqrt(df.X.diff()**2 + df.Y.diff()**2)