我们可以使用pandas库来进行计算,代码示例如下:
import pandas as pd
# 构造数据
data = {'Group': ['A', 'A', 'A', 'B', 'B', 'C'],
'X': [1, 3, 5, 2, 4, 6],
'Y': [10, 9, 8, 7, 6, 5]}
df = pd.DataFrame(data)
# 根据Group列进行分组,并按X列升序排列
df = df.sort_values(['Group', 'X'])
# 计算相邻行之间的距离
df['Distance'] = df.groupby('Group').apply(lambda x: ((x['X'] - x['X'].shift(1)).pow(2) + (x['Y'] - x['Y'].shift(1)).pow(2)).pow(0.5))
print(df)
输出结果如下:
Group X Y Distance
0 A 1 10 NaN
1 A 3 9 2.236068
2 A 5 8 2.236068
3 B 2 7 NaN
4 B 4 6 2.236068
5 C 6 5 NaN
其中,Distance列为计算得出的相邻行之间的距离。注意,在计算时需要先对数据按Group列进行分组,再按X列升序排列。如果没有这一步操作,计算结果将会出现错误。