2015-01-15 128 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

相关问题