リストに収集されたnumpy行列があります。各マトリックスの特定のエントリ、たとえば各マトリックスの 2 番目のエントリを含む配列を作成する必要があります。ループは避けたい。
データはすでにこの形になっています。構造を変更したり、マトリックスを別のものに変更したりしたくありません。
コード例 - データ構造:
L = []
m1 = np.mat([ 1, 2, 3]).T
m2 = np.mat([ 4, 5, 6]).T
m3 = np.mat([ 7, 8, 9]).T
m4 = np.mat([10,11,12]).T
m5 = np.mat([13,14,15]).T
L.append(m1)
L.append(m2)
L.append(m3)
L.append(m4)
L.append(m5)
私がそれを行うことができた唯一の方法は、ループを使用することです:
S = []
for k in range(len(L)):
S.append(L[k][1,0])
print 'S = %s' % S
必要な出力:次のS = [2, 5, 8, 11, 14]
ようなものだと思いました:S1 = np.array(L[:][1,0])
動作するはずですが、何を試しても次のようなエラーが発生します: TypeError: list indices must be integers, not tuple
。それにアクセスする効率的な方法(派手なスタイル)は何ですか?