Python Numpy:反向转置
Python Numpy: reverse transpose
假设我有一个形状为 (2,2,3) 的数组:x=np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
,并且我已将此数组沿轴 (2,0,1) 转置为 y:y=np.transpose(x,(2,0,1))
。
我的问题是,如何将 y 转置回 x?我知道我可以使用 np.transpose(y,(1,2,0))
改回 x,但我希望有一种巧妙的方法来找到正确的轴 (1,2,0)。
感谢您的帮助!
您可以使用
np.argsort((2, 0, 1))
它给出:
array([1, 2, 0])
它适用于任何轴排列。
假设我有一个形状为 (2,2,3) 的数组:x=np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
,并且我已将此数组沿轴 (2,0,1) 转置为 y:y=np.transpose(x,(2,0,1))
。
我的问题是,如何将 y 转置回 x?我知道我可以使用 np.transpose(y,(1,2,0))
改回 x,但我希望有一种巧妙的方法来找到正确的轴 (1,2,0)。
感谢您的帮助!
您可以使用
np.argsort((2, 0, 1))
它给出:
array([1, 2, 0])
它适用于任何轴排列。