将字典值从1D改为2D数组

2024-09-15 17:41:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我想计算两本词典中单词的余弦相似度。单词是键,数组是值。为了做到这一点,我需要先把它们转换成2D数组,我做了一些研究,发现{} 我用dictionary中的一个值成功地转换了它,但是,我不知道如何使用for循环来转换整个字典的值。在

数据

D
{'A': array([ 4.80625004e-01, -1.40245005e-01, -9.99999046e-03]),
'B': array([-0.46553   , -0.1519755 ,  0.41836]),
'C': array([0.0090175 ,  0.05817001, -0.09712502])}

D2 (same format as D)
{'D': ([8.11059952e-01,  6.84859991e-01,  1.01619996e-01]),
'E':([-0.82868   ,  0.49513   ,  0.67581]),
'F':([-0.17093   ,  0.88746   ,  0.0931135])}

我试过了

^{pr2}$

但收到错误:类型错误:无法损坏的类型:'努比·恩达雷'

有什么建议吗?提前谢谢你!在


Tags: 数据format类型fordictionary字典as错误
2条回答

Dict.items()返回键、值对的元组。因此在您的例子中,i是键和值的元组。尝试:

for i, value in D2.items():
    D2[i] = value.reshape(1, -1)

试试这个

from numpy import array

d = dict({'A': array([ 4.80625004e-01, -1.40245005e-01, -9.99999046e-03]),
'B': array([-0.46553   , -0.1519755 ,  0.41836]),
'C': array([0.0090175 ,  0.05817001, -0.09712502])})

reshaped_arrays = dict()
    for x, j in d.items():
        dd[x]=j.reshape(1,-1)

相关问题 更多 >