【问题标题】:Change dictionary into label array将字典更改为标签数组
【发布时间】:2025-12-11 12:30:01
【问题描述】:

所以我有一个二维数组

X = [[ 7.3571296   0.49626   ]
 [-0.7747436   3.14599   ]
 [ 3.7817762   4.1808457 ]
 [ 4.5332413   6.8228664 ]
 [ 7.4655724  -0.11392868]
 [ 2.416418    4.692072  ]]

还有一个簇标签数组。

y = [1 3 2 2 1 3]

然后我有一个算法可以预测二维数组的标签。

Z = {1: array([[ 7.3571296   0.49626   ],
               [ 7.4655724  -0.11392868]]), 
     2: array([[ 3.7817762   4.1808457 ]
               [ 2.416418    4.692072  ]]),
     3: array([[-0.7747436   3.14599   ],
               [ 4.5332413   6.8228664 ]])} 

我想将我的预测标签与原始标签进行匹配,以了解我的算法的准确性。但是如何将字典格式提取为标签数组格式? (即 y_pred = [1 3 2 3 1 2])

【问题讨论】:

    标签: python arrays dictionary multidimensional-array cluster-analysis


    【解决方案1】:

    您可以使用字典的keys() 方法并将其转换为list

    import numpy as np
    
    Z = {1: np.asarray([[7.3571296, 0.49626], [7.4655724, 0.11392868]]),
         2: np.asarray([[3.7817762, 4.1808457], [2.416418, 4.692072]]),
         3: np.asarray([[-0.7747436, 3.14599], [4.5332413, 6.8228664]])}
    
    print(list(Z.keys())) #[1, 2, 3]
    
    

    【讨论】: