J'ai deux tableaux numpy 2D comme celui-ci, représentant les distances x/y entre trois points. J'ai besoin des distances x/y comme tuples dans un seul tableau.Assemblage de deux tableaux numpy 2D dans un seul tableau 2D de 2-tuples
donc de:
x_dists = array([[ 0, -1, -2],
[ 1, 0, -1],
[ 2, 1, 0]])
y_dists = array([[ 0, -1, -2],
[ 1, 0, -1],
[ 2, 1, 0]])
J'ai besoin:
dists = array([[[ 0, 0], [-1, -1], [-2, -2]],
[[ 1, 1], [ 0, 0], [-1, -1]],
[[ 2, 2], [ 1, 1], [ 0, 0]]])
J'ai essayé d'utiliser diverses permutations de dstack/hstack/vstack/concatenate, mais aucun d'entre eux semblent faire ce que je veux . Les tableaux réels dans le code sont susceptibles d'être gigantesques, donc itérer sur les éléments en python et faire le réarrangement "manuellement" n'est pas une option rapide.
Edit: C'est ce que je suis venu avec à la fin: https://gist.github.com/807656
Est-ce est juste une coïncidence que '' x_dist' et y_dist' sont les mêmes? Aussi, quelle est la signification de la distance négative dans votre application? Est-ce que '_dist' serait toujours 'symétrique', mais la partie uppertridiagonale serait juste négative? Combien de points comptez-vous gérer? Quel est le but de cet empilement de tableaux? Les éléments seraient-ils dans un ordre «optimal» pour d'autres calculs? Juste quelques difficultés, merci – eat
C'est une coïncidence. Les points d'exemple sont (0, 0), (1, 1), (2, 2) pour l'amour de la santé mentale. _dist est en effet symétrique. Le but de l'empilement des tableaux est que je peux les utiliser pour déplacer les points. Voir l'essentiel lié. – Zarkonnen