Arrays 翻转三维numpy阵列
我需要沿着Z轴翻转一个形状为[m,n,k]的3D阵列。 我需要平面0(A[0,:,:,:])变成k-1,平面1变成k-2平面,依此类推 我需要在许多阵列上这样做,循环非常慢 我试过:Arrays 翻转三维numpy阵列,arrays,python-2.7,numpy,multidimensional-array,Arrays,Python 2.7,Numpy,Multidimensional Array,我需要沿着Z轴翻转一个形状为[m,n,k]的3D阵列。 我需要平面0(A[0,:,:,:])变成k-1,平面1变成k-2平面,依此类推 我需要在许多阵列上这样做,循环非常慢 我试过: C = numpy.rot90(A,2) C = flipud(A) C = A[::-1] 我也试着去翻滚和重塑,而不是我所需要的 例如: A是(3,2,2) 我需要颠倒Z轴的顺序: [[ 0.54217072 -1.33470658] [-0.50179028 -0.66593918]] [[-0.7703
C = numpy.rot90(A,2)
C = flipud(A)
C = A[::-1]
我也试着去翻滚和重塑,而不是我所需要的
例如:
A是(3,2,2)
我需要颠倒Z轴的顺序:
[[ 0.54217072 -1.33470658]
[-0.50179028 -0.66593918]]
[[-0.7703279 0.02402204]
[-0.18006451 -0.37589744]]
[[ 1.01551435 -0.76494131]
[ 0.56853752 1.94491724]]
有什么想法吗?正如@hpaulj所建议的:
A = A[::-1, :, :]
print A.shape
print A
(3L, 2L, 2L)
[[[ 0.54217072 -1.33470658]
[-0.50179028 -0.66593918]]
[[-0.97433012 2.08134198]
[-1.34997602 -0.33543117]]
[[ 1.01551435 -0.76494131]
[ 0.56853752 1.94491724]]]
举一个小例子,比如一个2x3x4阵列,以及您想要的。同时指出你所尝试的有什么问题。我猜
A[:,:,::-1]
会奏效。@hpaulj的建议是一个很好的尝试。。。a=np.arange(2*3*4)。重塑(2,3,4),然后使用他的重新排列来明确这是否是您想要的。在question@hpaulj他的建议解决了这个问题。谢谢
A = A[::-1, :, :]
print A.shape
print A
(3L, 2L, 2L)
[[[ 0.54217072 -1.33470658]
[-0.50179028 -0.66593918]]
[[-0.97433012 2.08134198]
[-1.34997602 -0.33543117]]
[[ 1.01551435 -0.76494131]
[ 0.56853752 1.94491724]]]