假设我有一个numpy数组,其中:
第一个月
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
字符串
我使用transpose
方法,它接受一个轴编号的元组来排列轴:np.transpose((1, 0, 2))
个
array([[[ 0, 1, 2, 3],
[ 8, 9, 10, 11]],
[[ 4, 5, 6, 7],
[12, 13, 14, 15]]])
型
在这种情况下,transpose
是如何执行操作的?轴操作是如何发生的?
1条答案
按热度按时间mftmpeh81#
字符串
前两个维度已切换。这有点难以想象,因为它们是“平面”和“行”维度。列,最后一个保持不变。
型
交换最后两个维度更容易可视化。旋转2个平面-行为列
型
对于
x
,步幅朝向前导维度增加。8表示最后的列,一次一个元素。32是4*8
,每行4个元素。最后2*32
用于平面。对于
y
,平面和行尺寸已切换。对于z
,行和列维度已切换。现在,
y
或z
的copy
将步幅恢复为常规的C顺序。如果三维空间都不同,转置在形状上非常明显:
型