У меня есть словарь, ключи которого являются строками, а значения - массивами, например ::
data = {'a': array([1,2,3]), 'b': array([4,5,6]), 'c': array([7,8,9])}
Я хочу вычислить статистику между всеми парами значений в 'data' и построить матрицу n x, которая хранит результат. Предположим, что я знаю порядок ключей, то есть у меня есть список «меток»:
labels = ['a', 'b', 'c']
Какой самый эффективный способ вычисления этой матрицы?
Я могу вычислить статистику для всех пар следующим образом:
result = []
for elt1, elt2 in itertools.product(labels, labels):
result.append(compute_statistic(data[elt1], data[elt2]))
Но я хочу, чтобы результат представлял собой матрицу n на n, соответствующую «меткам» по «меткам». Как я могу записать результаты в виде этой матрицы?
спасибо.