私は、サイズが(3,3)のyの行列を持っています。すべての要素が1である3行3列の行列であるとします。ループ内のPythonで行列を追加する
次に、複数の(3,3)行列を作成するためのループがあります。 は、したがって、これらは出力です:
最初のループ私はこの行列を得る:
[[ 88. 42.5 9. ]
[ 121.5 76. 42.5]
[ 167. 121.5 88. ]]
私が得る第二のループ:
[[ 88. 42.5 13. ]
[ 117.5 72. 42.5]
[ 163. 117.5 88. ]]
だから私が達成したいことは、本質的に
です[[1, 1, 1] [88, 42.5, 9] [88, 42.5, 13],
[1, 1, 1] [121.5, 76, 42.5] [117.5, 72, 42.5],
[1, 1, 1] [167, 121.5, 88] [163, 117.5, 88]]
これは、ループが2回繰り返されると仮定しています。私がplを持っているかどうかわかりませんコンマやスペースなどを適切な場所に置いてください。理想的には、3つの要素を持つリストを持つ各要素を持つ3行3列の行列を取得します。
私はこれまで持っているマイコードforループである(Up_xyz、Mid_xyz、[X、X、x]の形式でDown_xyz出力):
for i in range (1,len(PeopleName)):
x = np.vstack((Up_xyz(TempName[i]),Mid_xyz(TempName[i]),Down_xyz(TempName[i])))
restA.append(x)
l+=1
もたらす:
[array([[ 88. , 42.5, 13. ],
[ 117.5, 72. , 42.5],
[ 163. , 117.5, 88. ]])]
これは単純にループの最後の反復からの値です。私は
print(y.append(restA))
でレスタにYを追加また
、私はこのエラーを取得:
'numpy.ndarray' object has no attribute 'append'
を私は、これはサイズの違いによるものであると仮定します。しかし、私はどんな助けにも感謝しています。私はPythonをかなり新しくしているので、他の方法でも効率的です。おかげ
:
あなたが直接3D配列(3,3,3)と形状を持つことができますか?あなたはちょうどPythonのリストで得ることができます – wwii