Numpyを用いてforループで計算した行列の積の結果を全て格納したリストを作成したいです.
任意の33正方行列に対し,行列積の計算を10回行い,その結果をまとめたリスト(33の行列が10個格納されたリスト)を作成したいのですがエラーが出てしまいます.(最終的には行列が複数格納されたリスト同士で行列の計算を行いたいと考えています.)
原因はおそらくnp.appendでは二次元配列を追加できないのではないかと考えていますが,pythonを始めたばかりの初心者のため自力では解決できませんでした.アドバイスいただけますと幸いです.
発生している問題・エラーメッセージ
AttributeError: 'list' object has no attribute 'b'
該当のソースコード
python
1import numpy as np 2import pandas as pd 3from numpy.random import randint 4 5 6def make_matrix(t): 7 for i in range (10): 8 a = randint(0,2,(3,3)) 9 b = a.dot(t) 10 c = [] 11 c = np.append(c.b) 12 return c 13 14t = np.array([[2,0,0],[0,1,0],[1,0,1]]) 15 16print(make_matrix(t))
試したこと
・pandasのSeriesの形にして追加する.→二次元配列は格納できず
・”numpy 行列 追加”で検索.→1つの行列に対しての要素の追加方法ばかりがでてきてしまい,二次元配列を複数個格納する方法が見つからなかった.
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/16 01:15
2019/07/16 01:28