scipy.spatial.distance.squareform
a1
Out[118]:
array([[ 0, 2, 3, 4],
[ 2, 0, 7, 8],
[ 3, 7, 0, 12],
[ 4, 8, 12, 0]])
a=dist.squareform(a1)
首先是a1如果是矩阵的话就必须对称 ,一般是距离矩阵,对角线元素都为0,a=dist.squareform(a1),主要是按照a1的下三角线的元素一列一列凑成一个array,如列表所示,依次是下三角的第一列元素,2,3,4, 第二列元素7,8,第三列元素12,所以输出是array([ 2, 3, 4, 7, 8, 12])
a
Out[120]: array([ 2, 3, 4, 7, 8, 12])
相反把a 作为元素输入得到冗余矩阵,即b矩阵,即将a1还原。
b=dist.squareform(a)
b
Out[122]:
array([[ 0, 2, 3, 4],
[ 2, 0, 7, 8],
[ 3, 7, 0, 12],
[ 4, 8, 12, 0]])
scipy.spatial.distance.squareform的使用
最新推荐文章于 2023-11-25 15:24:55 发布