我有以下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]
,因为这是冗余信息。最好的方法是什么?你知道吗
假设
d
是指定的距离矩阵。你知道吗演示:
这里有一个
masking
的方法-样本运行-
如果你同意将上三角元素编辑成更高的值,这在阈值操作中不会被捕获,我们可以沿着这些线做一些事情-
其他方法:
计时-
如果需要独立于选择条件的解决方案,可以考虑使用屏蔽数组:
从这里你会像以前一样继续
这还有一个好处,就是您的数据不受影响。你知道吗
相关问题 更多 >
编程相关推荐