transpose是numpy重塑数组的方法。
首先,数组有一个特殊的T属性:
arr = np.arange(15).reshape((3, 5))
arr
''
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
''
arr.T
''
array([[ 0, 5, 10],
[ 1, 6, 11],
[ 2, 7, 12],
[ 3, 8, 13],
[ 4, 9, 14]])
''
这个还是比较简单的,数组的简单轴对换。
对高维数组,可以用transponse进行更复杂的转置:
arr = np.arange(16).reshape((2, 2, 4))
arr
''
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7]],
[[ 8, 9, 10, 11],
[12, 13, 14, 15]]])
''
arr.transpone((1, 0, 2))
''
array([[[ 0, 1, 2, 3],
[ 8, 9, 10, 11]],
[[ 4, 5, 6, 7],
[12, 13, 14, 15]]])
''
这个稍微复杂一点,想明白确实想了一段时间。这个重塑,分为2步:
结构的调整
首先输入arr.shape,得到数组结构(2, 2, 4),transponse参数(1, 0, 2),也就是说该数组调整后,结构不变还是(2, 2, 4)。索引的改变
比如说arr[0, 1, 0] = 4, 转置后, 1和0调换,所以,调整后4的索引为[1, 0, 0],其余的数字以此类推。
http://blog.youkuaiyun.com/qq575379110/article/details/70799862
3133

被折叠的 条评论
为什么被折叠?



