0
votes

Indexation du tableau entre deux tableaux

 Entrez la description de l'image ici

J'ai une matrice numpue et des valeurs de recherche correspondantes. Dans toutes les colonnes de données, je devrais obtenir une position maximale de la recherche correspondante un convertissant cette position en résultat des données. P>

Je dois faire comme indiqué sur la photo. P>

image parle mieux que ma langue. P>

data = data.transpose(1,0)

lookup = lookup.transpose(1,0)

results = []       
for d in data:   
   matches = lookup[d].diagonal()
   print (matches)
   idx = np.argmax(matches, axis=0)
   res = d[idx]
   results.append(res)

print ()

print (results)  


2 commentaires

Pouvez-vous décrire ce que vous essayez de faire, en mots pas en images.


Ajouté dans la question.


3 Réponses :


0
votes

Je ne suis pas sûr de vous comprendre, mais peut-être que c'est ce que vous recherchez? XXX


3 commentaires

Pourquoi + np.array ([0, 1, 2]) ?


juste une façon paresseuse de faire quelque chose comme [[0, 1, 2], [0, 1, 2], [0, 1, 2], ...]]]] ie les colonnes pour chaque ligne. Peut-être qu'un meilleur itinéraire serait d'utiliser np.ndgrid .


lookup [Data, cols] est votre correspondant



1
votes

Vous pouvez utiliser l'aplatissement de fait: xxx

sortie xxx


3 commentaires

Vous avez des matchs. Ensuite, comment obtenir des résultats?


[1, 2, 1, 0, 3, 2, 4, 2, 1]


Obtenir de l'argmax des correspondances que vous avez produites et converties en valeurs de données. Le résultat attendu est [1, 2, 1, 0, 3, 2, 4, 2, 1]