【发布时间】:2020-01-23 23:57:23
【问题描述】:
我有一本像这样的字典:
d1 = {('a', 'b'): 300.0,
('b, 'c'): '0.1*K1',
('a', 'c'): 0.462,
('c', 'e'): '0.2*K2',
('b', 'a'): '0.1*K1',
('c','d'): 'K1*K3'}
K1, K2, K3 = 2.1, 3.4, 2
我想将 d1 中的 '0.1*K1' 替换为 0.1*K1,将 d2 中的 '0.2*K2' 替换为 0.2*K2,以此类推。 d1 中需要替换的值在d2 中作为key 给出,并替换为d2 中对应的值:
d2 = {'0.1*K1':0.1*K1, '0.1*K2':'0.1*K2', 'K2*K3':K2*K3}
最终结果将是一本字典:
d1_new = {('a', 'b'): 300.0,
('b, 'c'): 0.21,
('a', 'c'): 0.462,
('c', 'e'): 0.68,
('b', 'a'): 0.21',
('c','d'): 6.8}
【问题讨论】:
-
向我们展示您的尝试,然后我们可以提供帮助
-
我尝试将其转换为在标记为“Rate”的列中键为 d1 的数据帧,然后使用 df['Rate'].replace(d2)。但是当我有一个大数据框并且需要进行多次计算时,这似乎需要很多时间。
-
如果你在做表达式评估,考虑sympy
标签: python dictionary key-value