首页 > 解决方案 > 如何重新排列 3D 阵列

问题描述

我有一个 3D 数组,我想重新排列它们,以便每个维度中的每个位置仍然对应于下一个维度,但是所有 3 的顺序都发生了变化。

我有一个 3D 数组:

array = [32,30,96] 我已经排序的具有 96 个值的第三维是为了找到:

ranks = [57 23 68 58 25 91 70 83 77 75 89 34 49 79 66 54 67 44 63 52 46 20 64 10 80 33 30 29 28 26 17 27 50 51 92 86 69 47 0 7 3 85 18 11 13 53 8 78 82 81 14 74 59 32 42 39 1 31 36 19 24 5 38 9 73 71 76 87 41 55 94 93 84 16 90 62 48 43 72 95 65 45 61 22 21 15 37 88 2 40 56 6 12 60 4 35]

我想重新排列整个 3D 数组以反映排名顺序。所以我仍然希望整个数组具有相同的关联,但顺序不同。

所以我想要一个具有相同维度的新数组,newarray=[32,30,96] 但它的顺序基于最后一个维度,所以 [32,30,ranks] 我不关心具体值,位置 0不一定要变成57,我希望57位对应的所有数据现在都是0位

标签: pythonnumpyfor-loop

解决方案


推荐阅读