如何在Julia中切换n维数组的轴(维度)
我有一个数组,我想要改变它的轴的顺序。这个操作有点像转置,但我想对维度大于2的数组进行这个操作。在Python中,我会用np.transpose,在Matlab中用permute,但我在Julia中找不到类似的功能。例如,
a = ones(2, 3, 4)
size(a)
(2,3,4)
我想从这个数组得到一个形状为(3, 4, 2)的数组,通过将轴(维度)重新排列为(2, 3, 1)。我在找一个叫做new_func的函数。
b = new_func(a, (2, 3, 1))
size(b)
(3,4,2)
1 个回答
10
根据Stefan Karpinski的说法,答案是 Base.permutedims
(文档)。
示例:
a = ones(2, 3, 4)
size(a) # => (2,3,4)
b = permutedims(a, [2, 3, 1])
size(b) # => (3,4,2)