我需要沿 Z 轴翻转形状为 [m, n, k] 的 3D Array A。
我需要平面 0 (A[0,:,:]) 变成 k-1,平面 1 变成 k-2 平面等等。
我需要在许多数组上这样做,而且循环非常慢。
我试过:
C = numpy.rot90(A,2)
C = flipud(A)
C = A[::-1]
我也尝试过 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]]])
我需要颠倒重新排序 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]]]
关于arrays - 翻转 3D numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39357935/