欧几里得距离的python数据帧



我有以下Pandas DataFrame:

x1  y1  z1  s1  x2  y2  z2  s2  x3  y3  z3  s3  x4  y4  z4  s4  xto yto zto 
1    1  1   1   1   4   5   7   11  17  89  34  1   1   1   1   1   1    1 
4   4   4   1   4   5   7   10  17  79  34  31  51  51  19  10  61  21  20 
4   4   4   1   4   5   7   10  17  79  34  31  51  51  19  10  61  21  20 
4   4   4   1   4   5   7   10  17  79  34  31  51  51  19  10  61  21  20 

我还需要求欧氏距离:

d1 = sqr(x1-xto)^2+(y1-yt0)^2+(z1-zto)^2 
d2 = sqr(x2-xto)^2+(y2-yt0)^2+(z2-zto)^2
d3 = sqr(x3-xto)^2+(y3-yt0)^2+(z3-zto)^2 
d4 = sqr(x4-xto)^2+(y4-yt0)^2+(z4-zto)^2 

以获取新的数据帧。类似这样的东西:

d1  s1 d2 s2 d3 s3 d4 s4 
02  31 41 52 63 54 55 85 
02  71 81 52 63 54 55 85 
02  51 41 52 63 54 55 85  
02  31 41 52 63 54 55 85  

试试SciPy库,有一种计算欧几里得距离的方法。该方法的参数类似于数组,因此您应该能够从pd.df 中输入列

然后,您可以列出距离,并将其放入数据帧中

最新更新