我有一个数组:
test_arr = np.array([ [1.2, 2.1, 2.3, 4.5],
[2.6, 6.4, 5.2, 6.2],
[7.2, 6.2, 2.5, 1.7],
[8.2, 7.6, 4.2, 7.3] ]
是否可以获得以下格式的数据帧:
row_id | row1 | row2 | row3 | row4
row1 0.0 d(row1,row2) d(row1,row3) d(row1,row4)
row2 ... 0.0 ... ...
row3 ... ... 0.0 ...
row4 ... ... 0.0 ...
其中d(row1, row2)
是row1
和行2之间的欧几里德距离
我现在尝试的是首先生成所有行对的列表,然后计算距离并将每个元素分配给数据帧。有没有更好/更快的方法
使用cdist计算成对距离
将二维结果数组放置到数据帧中
输出
熊猫数据帧
结果:
相关问题 更多 >
编程相关推荐