次元に沿って行列をnumpy配列に挿入する関数を記述したいと思います。ここで、次元は関数のパラメータとして与えられます。しかし、私は次元が動的であるという事実に苦しんでいます。私が知っているだろうとした場合、このような寸法何かが働くだろう:numpy配列の動的/パラメータ化された次元に挿入
a = np.ones((2,3,4))
print a
[[[1 1 1 1] [1 1 1 1] [1 1 1 1.]
[1 1 1 1] [1 1 1 1] [1 1 1 1]]]
a[:, 0, :] = np.ones((2,4))*2
print a
[[[2.2.1]] [1.11.1]]
[[2. 2. 2] [1 1 1 1] [1 1 1 1]]]
どのように私はディメンションの挿入を行うことができます2x4(または2x3,3x4)行列の動的?すなわち
、arr.shape =(2,3,4)と仮定:挿入しなければならないマトリックスの形状決意の問題がある:PS
f(arr,i=0, dim=2)
# would perform the following:
arr[:,:, 0] = np.ones((2,3))*2
ながら
f(arr, i=1, dim=0)
# this would perform the following:
arr[1, :, :] = np.ones((3,4))*2
を解決される。
希望する出力は何ですか? – Allen
上記の例の0をパラメータ化した位置に置くことができる関数を用意したいと思います。したがって、func(a、dim = 0)は[0、:、:] =何かを実行し、func(a、dim = 2)は[:、:、0] =何かを行います – blckbird
[:、b、:]ここで、bはあなたのパラメータですか? – Allen