【发布时间】:2014-06-04 21:01:05
【问题描述】:
我有两个 3D 数组
clusters = [array([[ 0.42199652, -0.14364404, 0.21290469]]),
array([[ 5.80084178e-05, 1.20779787e-02, -2.65970238e-02],
[ -1.36810406e-02, 6.85722519e-02, -2.60280724e-01],
[ 3.03098198e-02, 1.50170659e-02, -1.09683402e-01],
[ -1.50776089e-03, 7.22369575e-03, -3.71181228e-02],
[ -3.04448275e-01, -3.66987035e-01, 1.44618682e-01],
[ 1.16567762e-03, 1.72858807e-02, -9.39297514e-02],
[ 1.25896836e-04, 1.61310167e-02, -6.00253128e-02],
[ 1.65062798e-02, 1.96933143e-02, -4.26540031e-02],
[ -3.78020965e-03, 7.51770012e-03, -3.67852984e-02]]),
array([[-0.14674492, 0.34711217, 0.30955027]])
out_list = [[ 0.01650628 0.01969331 -0.042654 ]
[-0.00150776 0.0072237 -0.03711812]
[ 0.0001259 0.01613102 -0.06002531]]
我必须找出out_list 的每一行与clusters 中的每个数组之间的欧几里得距离
我有一些代码
intra_dist = [scipy.spatial.distance.cdist(clusters[i],out_list[i], 'euclidean') for i in xrange(num_clusters)]
但它给了我ValueError: XB must be a 2-dimensional array.
有什么解决办法吗?
【问题讨论】:
标签: python arrays euclidean-distance