翻转 3D numpy 数组

Nao*_*man 7 arrays numpy multidimensional-array python-2.7

我需要沿 Z 轴翻转 3D 数组 A 形状 [m, n, k]。我需要平面 0 (A[0,:,:]) 变为 k-1,平面 1 变为 k-2 平面,依此类推。

我需要在许多数组上执行此操作,并且循环非常慢。

我试过:

C = numpy.rot90(A,2)
C = flipud(A)
C = A[::-1]
Run Code Online (Sandbox Code Playgroud)

我还尝试了 rol 和 reshape,但不是我需要的。

例如:A 是 (3, 2, 2)

    A= np.array([[[ 1.01551435, -0.76494131],
 [ 0.56853752 , 1.94491724]],
[[-0.97433012 , 2.08134198],
 [-1.34997602 ,-0.33543117]],
[[ 0.54217072, -1.33470658],
 [-0.50179028, -0.66593918]]])
Run Code Online (Sandbox Code Playgroud)

我需要将 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]]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

Nao*_*man 3

正如@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]]]
Run Code Online (Sandbox Code Playgroud)