Мне нужно сравнить словари в Python, и я написал следующий код:
diff_dict = {}
for key, value in old_dictionary.items():
for k, v in new_dictionry.items():
if k==key:
inner_dict = {}
for key1, value1 in value.items():
for k1, v1 in v.items():
if key1==k1 and value1!=v1:
compared_value = str(value1) + '_' + str(v1)
inner_dict.update({key1: compared_value})
diff_dict.update({k: inner_dict})
У меня есть несколько сайтов в качестве ключа, параметр в качестве внутренних ключей и значение для каждого параметра.Мне нужно сравнить текущий словарь со словарем предыдущего дня.
Но это не эффективно, это занимает полчаса, и все же, это не сделано.Есть ли эффективный способ сделать это?
Я хочу получить новый вложенный dict со структурой, подобной этой:
{key: {inner_key: compared_value}}
Сравненное значение объединяет новые и старые значения, поэтому я могу позжеразделите их на '_' и сделайте два столбца в пандах.
пример старых данных:
{'site-1/cell-1': {'tac' : 10, md: 5},
'site-2/cell-1': {'tac' : 10, md: 1}}
новый:
{'site-1/cell-1': {'tac' : 10, md: 4},
'site-2/cell-1': {'tac' : 12, md: 1}}
Желаемый вывод:
{{'site-1/cell-1': {md: '5_4'},
'site-2/cell-1': {'tac' : '10_12'}}