【发布时间】:2016-06-01 12:07:30
【问题描述】:
我有一个 12X2 数组,我想重组为一个 3x4x2 数组。具体来说,我想改变
a = np.array(([1,13],[2,14],[3,15],[4,16],[5,17],[6,18],[7,19],[8,20],[9,21],[10,22],[11,23],[12,24]))
[[ 1 13]
[ 2 14]
[ 3 15]
[ 4 16]
[ 5 17]
[ 6 18]
[ 7 19]
[ 8 20]
[ 9 21]
[10 22]
[11 23]
[12 24]]`
变成这样的矩阵:
[[[ 1. 2. 3. 4.]
[ 5. 6. 7. 8.]
[ 9. 10. 11. 12.]]
[[ 13. 14. 15. 16.]
[ 17. 18. 19. 20.]
[ 21. 22. 23. 24.]]]
我在想一个三重嵌套的 for 循环,但我编写它的方式行不通。而且我无法完全围绕 numpy 索引来弄清楚如何做到这一点。
这当然是示例代码。我想更改它以在经纬度网格上绘制全球降水的前 3 个 EOF 的 3 个图。 EOF 从 8192x8192 阵列中提取并放入 64x128x3 阵列中。 (我只使用大矩阵的前 3 列。每一列都是一个 EOF,在每一列下方,值按经度沿第一个纬度列出,然后按经度再次沿第二个纬度列出,依此类推一直向下直到列底部的第 128 个纬度。当然,当我完成时,我的数组将相对于底图颠倒,因为第一个纬度是 -87.something,但我打算使用 np.flipud 来完成后修复它。
【问题讨论】: