2017-02-10 20 views
-1

私はその形状が(10,10,10)のdataというパッチを持っています。私はそれが3, 0, 1, 2の何を意味するのpythonでtranspose(3,0,1,2)の意味は

data.transpose(3, 0, 1, 2)

としてpythonでトランスポーズ機能を使用しています。私は

ValueError: axes don't match array

としてエラーを得たので、私はそれを修正することができますか。私は、Python 2.7

答えて

1

をあまりにも多くの値を指定し、np.transpose関数の第2引数はint型のリストである、axesで、オプション によってデフォルト値での場合は寸法を逆転し、それ以外の場合は軸 をの値に従って並べ替えます。

例:

>>> x = np.arange(9).reshape((3,3)) 
>>> x 
array([[0, 1, 2], 
     [3, 4, 5], 
     [6, 7, 8]]) 

>>> np.transpose(x, (0,1)) 
array([[0, 1, 2], 
     [3, 4, 5], 
     [6, 7, 8]]) 

>>> np.transpose(x, (1,0)) 
array([[0, 3, 6], 
     [1, 4, 7], 
     [2, 5, 8]]) 
+0

おかげで、私のデータはdata.transpose何であるか(3,3,3,2)であるのであれば(3、0、1、2)を意味? – user8264

1

は座標軸キーワード引数を使用した場合テンソル の転置を反転させるnumpy.transpose

使用転置(、argsort(軸))を見てください。

1次元配列を転置すると、元の 配列の変更されていないビューが返されます。


>>> x = np.arange(4).reshape((2,2)) 
>>> x 
array([[0, 1], 
     [2, 3]]) 
>>> 
>>> np.transpose(x) 
array([[0, 2], 
     [1, 3]]) 
1

あなたはnp.transpose上のPythonドキュメントから転置で

>>> a = np.arange(8).reshape(2,2,2) 
>>> a.shape (2, 2, 2) 
>>> a.transpose([2,0,1]) 
array([[[0, 2], 
     [4, 6]], 

     [[1, 3], 
     [5, 7]]]) 
>>> a.transpose(3,0,1,2) Traceback (most recent call last): File "<interactive input>", line 1, in <module> ValueError: axes don't match array 
>>>