2016-08-05 18 views
0

非スライスnumpyの配列

b = [a[..., i] for i in a.shape[-1]] 

私はbからaを再作成することができ、最も簡単な方法は何ですか?

ような何か:その代わりにリスト内包の

for i in range(a.shape[-1]): 
    c[..., i] = b[i] 
+0

の代わりfor' 'ですべての列を反復処理で、あなたにもちょうど' B = [...、:]を使用することができます '。 –

+1

範囲内の私(a.shape [-1])を意味しますか? – Praveen

答えて

1

、あなたの本来の動作ではなく、アレイのリストの新しい配列としてaのビューを生成

b = numpy.rollaxis(a, axis=-1) 

されている必要があります。

逆の操作が

c = numpy.rollaxis(b, axis=0, start=b.ndim) 
関連する問題