Предположим, у меня есть два словаря с одинаковыми ключами, и все значения представляют собой массивы 2x2 numpy. Предположения:
- словари имеют одинаковые ключи
- каждое значение представляет собой массив 2x2 для всех словарей и ключей.
x1 и x2 — примеры словарей.
x1 = {k: np.random.randint(20, size=(2, 2)) for k in range(5)}
x2 = {k: np.random.randint(20, size=(2, 2)) for k in range(5)}
Я хотел бы добавить x1 и x2 вместе по их ключам, и результатом будет новый словарь.
So if...
x1[0] = [[1,2],[3,4]]
и...
x2[0] = [[10,20],[30,40]]
новое значение словаря, когда ключ = 0, будет...
x_total[0] = [[11,22],[33,44]]
Следующим шагом будет сделать это для многих словарей с такой структурой. Я думал сделать это в цикле for, но если есть более эффективные решения, я хотел бы узнать о них.
Я пробовал подход ниже, используя библиотеку коллекций
from collections import Counter
a = Counter(x1[0])
b = Counter(x2[0])
c = dict(a + b)
но я думаю, что это может не применяться, если значения являются массивами.
Я также знаю, что np.add(x1[0], x2[0])
приведет к добавлению массивов, но я хотел бы сделать это сразу для всех ключей... если это возможно.