有些读者可能会说,NumPy 都什么好学的,数组都弄不懂的人还能干什么,那我来问你个问题,知道「转置操作」吧,那么下面这个二维数组转置后是什么?...区分)
注意 strides,这个概念对于解决引言的「转置高维数组」问题很重要。...「行」和「列」中不同的索引,如下
arr[ [1,5,7,2], [0,3,1,2] ]
array([ 4, 23, 29, 10])
检查一下,上行代码获取的分别是第二行第一列、第六行第四列、第八行第二列...1, 2, 3 维度转置到第 2, 1, 3 维度,即将轴 0, 1, 2 转置到轴 1, 0, 2。...解答:
数组转置的本质:交换每个轴 (axis) 的形状 (shape) 和跨度 (stride)。
四幅图解决问题:
原数组
?
内存块的样子
?
轴 0 和轴 1 互换
?
转置结果
?