【发布时间】:2021-01-28 17:45:56
【问题描述】:
我有一个如下所示的数据框,我需要计算欧几里得距离。
a,b,c,d,e
10,11,13,14,9
11,12,14,15,10
12,13,15,16,11
13,14,16,17,12
14,15,17,18,13
15,16,18,19,14
16,17,19,20,15
17,18,20,21,16
18,19,21,22,17
19,20,22,23,18
20,21,23,24,19
21,22,24,25,20
22,23,25,26,21
23,24,26,27,22
24,25,27,28,23
我想只有 a 和 b 这两个列特征,我可以轻松做到:
def euclidean_distance(a, b):
return np.sqrt(np.sum((a - b)**2))
如何计算具有多个列特征(如 a、b、c、d, e 上面?
【问题讨论】:
-
“几列”是什么意思,欧几里得距离是两点之间的距离。你的意思是每一列对每一列?
-
您可以简单地将 scikits euclidean_distances 应用于您的数据帧,因为它处理数组
标签: python pandas numpy dataframe euclidean-distance