私は、距離を必要とし、理解しているアルゴリズムの座標グリッドを作成しようとしています。私は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 ' 'ことで、あなたが数を意味しています配列?例えば、2つの配列を持つサンプルの場合、それは2次元ですか? – Divakar
多分これはあなたが探しているものです:[xarray](http://xarray.pydata.org/en/stable/) – skrubber
@Divakar By N - 私はユーザーがデータのいくつかの行列を入れようとしていることを意味し、 8列のデータがある場合は、8次元のグリッドが必要です。 – Zach