首页 > 解决方案 > 关于熊猫数据框中的分组,如何计算一列与另一列的所有子列表的欧几里得距离?

问题描述

我有以下数据框,

    mac1         mac2          uuid    val         refVal                                                                                                    
0   ac233fc01403 ac233f26492b  e2c56   [-42, -44]  [[-45, -54],[-72]]                                                                                 
1   ac233fc01403 e464eecba5eb  0.0     [-34, -56]  [[-56],[-34,-89]]  

我需要根据“mac1”和“mac2”的组找到“val”列相对于“refVal”列的每个子列表的欧几里德距离,结果数据帧应该是,

    mac1         mac2          uuid    val         refVal              euc_dist                                                                                                 
0   ac233fc01403 ac233f26492b  e2c56   [-42, -44]  [[-45, -54],[-72]]  [d1,d2]                                                                                 
1   ac233fc01403 e464eecba5eb  0.0     [-34, -56]  [[-56],[-34,-89]]   [d1,d2] 

我尝试迭代df的行以获取“val”列的列表和“refVal”的子列表,以便找到欧几里得距离,即,

sqrt(sum((x - y)^2))

谁能帮我解决这个问题?

标签: python-3.xpandas-groupbyeuclidean-distance

解决方案


推荐阅读