gpt4 book ai didi

python - 如何描述两个字典的比率的笛卡尔乘法?

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:25 25 4
gpt4 key购买 nike

我有两本字典,如下所示:

first_dict = {"key1": 1, "key2":2, "key3":3}
sec_dict = {"key1": 2, "key2": 3, "key3":4}

我想使用 networkx 或 numpy 来创建如下矩阵:

[[1/2, 2/2, 3/2],
[1/3, 2/3, 3/3],
[3/2, 3/3, 3/4]]

描述了first_dict和sec_dict中每个节点的比例。有人可以帮我解决这个问题吗?

最佳答案

以下 NumPy 解决方案有效。在提取值之前必须对字典进行排序,除非您确定它们已经按排序顺序排列。

_, vals1 = zip(*sorted(first_dict.items()))
_, vals2 = zip(*sorted(sec_dict.items()))

如果之前已经排序过,可以忽略排序:

vals1 = list(first_dict.values())
vals2 = list(sec_dict.values())

np.array(vals1).reshape(-1,1) / np.array(vals2)

#array([[0.5 , 0.33333333, 0.25 ],
# [1. , 0.66666667, 0.5 ],
# [1.5 , 1. , 0.75 ]])

关于python - 如何描述两个字典的比率的笛卡尔乘法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58796453/

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