gpt4 book ai didi

python - 如何根据 csr 矩阵交叉检查 python 字典列表

转载 作者:行者123 更新时间:2023-12-01 05:38:59 24 4
gpt4 key购买 nike

我有这个企业社会责任矩阵:

  (0, 12114) 4
(0, 12001) 1
(0, 11998) 2
(0, 11132) 1
(0, 10412) 7
(1, 10096) 3
(1, 10085) 1
(1, 9105) 8
(1, 8925) 5
(1, 8660) 2
(2, 6577) 2
(2, 6491) 4
(3, 6178) 8
(3, 5286) 1
(3, 5147) 7
(3, 4466) 3

还有这个词典列表:

[{11998: 0.27257158100079237, 12114: 0.27024630707640002}, 

{10085: 0.23909781233007368, 9105: 0.57533007741289421},

{6577: 0.45085059256989168, 6491: 0.5895717192325539},

{5286: 0.4482789582819417, 6178: 0.32295433881928487}]

我想找到一种方法来根据矩阵中的相应行搜索列表中的每个字典(例如,针对第一个字典的第 0 行),并根据以下公式将字典中的每个值替换为矩阵中的值关键...

所以结果是:

[{11998: 2, 12114: 4},
{10085: 1, 9105: 8},
{6577: 2, 6491: 4},
{5286: 1, 6178: 8}]

最佳答案

如果X是你的稀疏矩阵并且

D = [{11998: 0.27257158100079237, 12114: 0.27024630707640002}, 
{10085: 0.23909781233007368, 9105: 0.57533007741289421},
{6577: 0.45085059256989168, 6491: 0.5895717192325539},
{5286: 0.4482789582819417, 6178: 0.32295433881928487}]

然后

for i, d in enumerate(D):
for j in d:
d[j] = X[i, j]

给出了期望的结果:

>>> D
[{12114: 4.0, 11998: 2.0}, {9105: 8.0, 10085: 1.0}, {6577: 2.0, 6491: 4.0}, {6178: 8.0, 5286: 1.0}]

关于python - 如何根据 csr 矩阵交叉检查 python 字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18127125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com