2015-01-15 122 views
3

如果A是一個2×2的數組,在MATLAB中用於permute(A, [3 2 1])的python中的等效表達式是什麼?Python中的matlab排列(A,[3 2 1])等價於什麼?

謝謝

+0

假設'A'是明確添加''numpy''''''(2,2)'' – Shai 2015-01-15 18:13:03

+2

如果你提供了樣本輸入和輸出,這個問題會得到很大的改善。例如'A = [[1,2],[3,4]]'。我想得到'B = ...'。 – mgilson 2015-01-15 18:23:07

回答

6

您正在尋找numpy.transpose

np.transpose(np.expand_dims(A, axis=2), (2, 1, 0)) 

由於numpy沒有默認情況下,尾隨單身尺寸,你需要使用np.expand_dims

+0

上述語句給出了一個錯誤消息,因爲A是2x2數組。說,A = np.array([[1,2],[3,4]])。 – user4279562 2015-01-15 20:26:29

+0

然後,np.transpose(a,(2,1,0))給出以下錯誤消息:--------------------------- ------------------------------------------------ ValueError回溯(最近呼叫最後) in () ----> 1 np.transpose(a,(2,1,0)) /opt/local/Library /Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/fromnumeric.pyc轉置(a,軸) 535,但AttributeError: 536 return _wrapit(a,'transpose' ,軸) - > 537返回轉置(軸) ValueError:軸不匹配數組 – user4279562 2015-01-15 20:28:06

+0

在matlab中,上述命令的結果是1x2x2矩陣w ith a [:,:1] = 1 2,a [:,:,2] = 3 4.我如何在Python中實現相同的結果? – user4279562 2015-01-15 20:30:26

相關問題