我有兩個像這樣的2D numpy數組,代表三個點之間的x/y距離。我需要x/y距離作爲單個數組中的元組。將兩個2D numpy數組連接成一個2元組的單個二維數組
所以從:
x_dists = array([[ 0, -1, -2],
[ 1, 0, -1],
[ 2, 1, 0]])
y_dists = array([[ 0, -1, -2],
[ 1, 0, -1],
[ 2, 1, 0]])
我需要:
dists = array([[[ 0, 0], [-1, -1], [-2, -2]],
[[ 1, 1], [ 0, 0], [-1, -1]],
[[ 2, 2], [ 1, 1], [ 0, 0]]])
我使用的dstack/hstack/vstack /連擊,但他們都不各種排列做我想做的嘗試。代碼中的實際數組可能是巨大的,因此在Python中迭代元素並「手動」重新排列並不是速度方面的選項。
編輯: 這是我想出了在最後:https://gist.github.com/807656
是僅僅是一個巧合,`x_dist`和`y_dist`是一樣的嗎?你的應用中消極距離的含義是什麼? '_dist`總是'對稱的',但是上部對角線的部分只是消極的?你期望處理多少點?這種數組堆棧的目的是什麼?這些元素是否處於「最佳」狀態以便進一步計算?只是一些tough,,謝謝 – eat 2011-02-02 13:26:49
這是巧合。爲了理智的緣故,示例點是(0,0),(1,1),(2,2)。 _dist確實是對稱的。堆疊數組的目的是我可以使用它們移動點。見鏈接的要點。 – Zarkonnen 2011-02-02 14:07:06