尝试在我的numpy数组中转置每个numpy数组。
这是我想要的一个例子:
A:
[[[ 1 4]
[ 2 5]
[ 3 6]]
[[ 7 10]
[ 8 11]
[ 9 12]]]
转置:
A=np.arange(1,13).reshape(2,2,3)
A=np.apply_along_axis(np.transpose, 0, A)
尝试使用np.apply_along_axis函数执行此操作但未获得正确的结果。我正在尝试将此应用于非常大的数组,并且将非常感谢任何帮助!
{{1}}
答案 0 :(得分:3)
您需要交换第二和第三轴,您可以使用np.swapaxes
:
A.swapaxes(1,2)
#array([[[ 1, 4],
# [ 2, 5],
# [ 3, 6]],
# [[ 7, 10],
# [ 8, 11],
# [ 9, 12]]])
或transpose
:
A.transpose(0,2,1)
#array([[[ 1, 4],
# [ 2, 5],
# [ 3, 6]],
# [[ 7, 10],
# [ 8, 11],
# [ 9, 12]]])
答案 1 :(得分:1)
为了完整起见,还有moveaxis
替换了已弃用的rollaxis
:
>>> np.rollaxis(A, 2, 1)
array([[[ 1, 4],
[ 2, 5],
[ 3, 6]],
[[ 7, 10],
[ 8, 11],
[ 9, 12]]])
>>> np.moveaxis(A, 2, 1)
array([[[ 1, 4],
[ 2, 5],
[ 3, 6]],
[[ 7, 10],
[ 8, 11],
[ 9, 12]]])
答案 2 :(得分:0)
您寻求的转型:
[[NSString alloc] initWithData:data encoding:NSUTF16LittleEndianStringEncoding];