我正在嘗試爲需要和理解距離的算法創建一個座標網格。我知道如何做到這一點已知的維數 - 像這樣的2D:用Python創建一個N維網格
x = [0,1,2]
y = [10,11,12]
z = np.zeros((3,3,2))
for i,X in enumerate(x):
for j,Y in enumerate(y):
z[i][j][0] = X
z[i][j][1] = Y
print(z)
--------------------------
array([[[ 0., 10.],
[ 0., 11.],
[ 0., 12.]],
[[ 1., 10.],
[ 1., 11.],
[ 1., 12.]],
[[ 2., 10.],
[ 2., 11.],
[ 2., 12.]]])
這工作得很好。我最終得到(3,3,2)的形狀,其中2是該點座標的值。我試圖用它來創建一個概率曲面,所以我需要能夠讓每個點都是它自己的「位置」值。有沒有一種方法可以輕鬆地將其擴展到N維?在那裏,我會有一個未知數的for循環。由於項目限制,我可以訪問Python內置函數和numpy,但這或多或少。
我試過np.meshgrid(),但它會產生(2,3,3)的輸出形狀,而我嘗試重塑它卻從不給我正確順序的座標。關於如何幹淨地做這件事的任何想法?
通過'N'你的意思數量數組?例如,在示例中,您有兩個數組,因此它是二維的? – Divakar
也許這就是你要找的東西:[xarray](http://xarray.pydata.org/en/stable/) – skrubber
@Divakar By N - 我的意思是一個用戶打算放入一些數據矩陣,但是很多列將會是N.所以如果他們有8列數據,我需要一個8維網格。 – Zach