【发布时间】:2018-06-12 20:38:50
【问题描述】:
输入数据:
我有以下distance_matrix:
[[1. , 0.14285714, 0.25 , 0.83333333, 0.63636364],
[0.14285714, 1. , 0.33333333, 0.84615385, 0.66666667],
[0.25 , 0.33333333, 1. , 0.76923077, 0.58333333],
[0.83333333, 0.84615385, 0.76923077, 1. , 0.69230769],
[0.63636364, 0.66666667, 0.58333333, 0.69230769, 1. ]]
当前结果:
np.where(distane_matrix <= 0.25) 返回以下输出:
(array([0, 0, 1, 2]), array([1, 2, 0, 0]))
期望的结果:
(array([0, 0]), array([1, 2]))
说明:
用文字来表达,因为我知道:
-
[0,1]与[1,0]具有相同的值 -
[0,2]与[2,0]具有相同的值 -
[0,1]和[0,2]满足np.where()的要求
我确实不希望在输出中返回[1,0] 和[2,0],因为它是冗余信息。最好的方法是什么?
【问题讨论】:
-
这看起来不太像距离矩阵,对角线上的 1 是什么。
-
感谢您指出这一点。对角线上应该是 0。尽管如此,我会保持原来的帖子不变,以便将来的用户更容易阅读答案。