8

numpy 配列を 1 つのベクトルに展開する近道があるかどうかを知りたいだけです。たとえば (次の Matlab コードを python に変換します):

Matlab の方法: A = zeros(10,10) %
A_unroll = A(:) % <- Python でこれを行うにはどうすればよいですか

少し早いですがお礼を。

4

2 に答える 2

12

これはあなたが念頭に置いていることですか?

編集: Patrick が指摘するように、A(:) を Python に変換する際には注意が必要です。

もちろん、ゼロの行列または 2 次元配列を平坦化するだけであれば問題ありません。

したがって、matlab のような動作を取得する方法は次のとおりです。

>>> a = np.array([[1,2,3], [4,5,6]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> # one way to get Matlab behaivor
... (a.T).ravel()
array([1, 4, 2, 5, 3, 6])

numpy.ravelは 2D 配列を平坦化しますが、matlab の場合と同じ方法では行いません(:)

>>> import numpy as np
>>> a = np.array([[1,2,3], [4,5,6]])
>>> a
array([[1, 2, 3],
       [4, 5, 6]])
>>> a.ravel()
array([1, 2, 3, 4, 5, 6])
于 2013-04-13T14:28:16.540 に答える