J'ai un dictionnaire dont les clés sont les chaînes et les valeurs sont des tableaux numpy, par exemple:la construction d'une matrice par paires dans scipy/numpy en Python à partir de dictionnaires
data = {'a': array([1,2,3]), 'b': array([4,5,6]), 'c': array([7,8,9])}
Je veux calculer une statistique entre toutes les paires de valeurs 'data' et construit une matrice n by x qui stocke le résultat. Supposons que je connais l'ordre des clés, à savoir que j'avoir une liste des « étiquettes »:
labels = ['a', 'b', 'c']
Quelle est la façon la plus efficace de calculer cette matrice?
je peux calculer la statistique pour toutes les paires comme ceci:
result = []
for elt1, elt2 in itertools.product(labels, labels):
result.append(compute_statistic(data[elt1], data[elt2]))
Mais je veux être un résultat n par matrice n, ce qui correspond à « étiquettes » par « étiquettes ». Comment puis-je enregistrer les résultats sous cette matrice? merci.