3
我想創建一個numpy數組的座標。直到現在,我一直只使用x_coords, y_coords = numpy.indices((shape))
。然而,現在我想將x_coords
和y_coords
組合成一個數組,這樣x_coords = thisArray[:,:,0]
和y_coords = thisArray[:,:,1]
在這種情況下,thisArray是一個二維數組。有沒有簡單或pythonic的方式來做到這一點?Pythonic的方式來創建一個numpy座標數組
我原本以爲使用numpy.outer
,但這並不能給我所需。一個可能的想法就是沿着(2nd?)軸使用索引數組的連接,但這似乎不是一個非常優雅的解決方案。 (雖然這可能是最乾淨的一個)。
謝謝!
嗯,這似乎工作 - 你是什麼意思,但條件是它是連續的。 (你是在談論它在內存中的位置?) – James
當你滾動軸時,數據的內存佈局沒有改變,只有數組的步幅。在內存中,所有的x座標將在內存部分的開始處,然後是所有的y座標。如果直接使用後面的形狀創建陣列,則x和y座標將在內存中交替顯示。對於一些奇特的東西,實際的內存佈局可能會減慢某些計算速度,或者需要緩慢的陣列副本。例如,你不能將一個不連續的數組提供給'np.frombuffer'。但對於大多數應用程序來說,這根本不是問題。 – Jaime
恩,好的,謝謝。還有一個問題。假設我想扁平第二和第三軸。 (因爲我真的不在乎他們在什麼順序。我幾乎只想要一個向量數組)。我怎麼能這樣做呢? – James