首页 > 解决方案 > 计算熊猫数据框中两点之间的欧几里得距离

问题描述

我在 pandas 数据框中的数据如下所示:

Sample  Point   Axis  Value1    Value2

S1       P1      X     1.2       1.28
S1       P1      Y     3.4       3.6
S1       P1      Z     1.4       1.6
S1       P2      X     1.2       1.23
S1       P2      Y     -3.4      -3.5
S1       P2      Z     1.4       1.48
S1       P3      X     1.65      1.68
S1       P3      Y     0.8       0.96
S1       P3      Z     2.0       1.9
S1       P4      X     1.65      1.65
S1       P4      Y     -0.8      -0.88
S1       P4      Z     2.0       2.2

为 S1 计算 P1、P2 和 P3、P4 之间的距离后的预期数据帧

Sample  Point   Axis  Value1    Value2

    S1       P1      X     1.2       1.28
    S1       P1      Y     3.4       3.6
    S1       P1      Z     1.4       1.6
    S1       P2      X     1.2       1.23
    S1       P2      Y     -3.4      -3.5
    S1       P2      Z     1.4       1.48
    S1       P3      X     1.65      1.68
    S1       P3      Y     0.8       0.96
    S1       P3      Z     2.0       1.9
    S1       P4      X     1.65      1.65
    S1       P4      Y     -0.8      -0.88
    S1       P4      Z     2.0       2.2
    S1       D1            6.8       7.1
    S1       D2            1.6       1.86

我想为 value1 和 value2 计算点 (P1, P2) 和 (P3,P4) 之间的欧几里得距离,并将其插入数据帧,因为新点 D1 和 D2 D1 是 P1 之间的欧几里得距离,P2 D2 是欧几里得距离P3、P4之间

在这里,我只展示了一个带有 4 个点(P1、P2、P3、P4)的样本(S1),但在我的数据中,我有多个样本(S1、S2、S3....等),具有相同的四个点(P1 ,P2,P3,P4) 我想将我的计算应用于每个样本。

我不确定如何实现这一目标

标签: pythonpandasscipyeuclidean-distance

解决方案


推荐阅读