numpy 数组的异常重塑

Unusual reshape of numpy array

我正在尝试使用 contourf 地图在 matplotlib 中渲染地球物理部分。 我几乎得到了想要的结果,只有一个例外,它从左下角呈现。 Rendered geophysics section

因为它是表面的截面,所以 0 是表面水平,2000 是深度(以纳秒为单位)。这意味着这个 contourf 贴图需要从左上角渲染。

CS = plt.contourf(x, y, amplitude, 25, cmap='jet', vmin=0, vmax=127)

我想我理解了这个问题。我的数据是从二进制文件中读取的,其中每个镜头都是每个给定点从表面到最深值的值列表。所以我的二维数组是这样的:

1st shot [[65, 29, 56, 98, 82, 14,...],
2nd shot  [24, 54, 48, 41, 74, 37,...],
3rd shot  [34, 12, 18, 44, 87, 64,...]]
N shot....

有没有办法像这样重塑它:

[[65, 24, 34],
 [29, 54, 12],
 [56, 48, 18],
 [98, 41, 44],
 [82, 74, 87],
 [14, 37, 64]]

这样,如果 y 反转 y 值(为负数),我可以获得所需的结果 - 左上角为 0。

我知道怎么做是简单的 python,但是 numpy 中有有效的方法吗?

如果数据D是一个numpy二维数组,

D = D.T

一个简单的转置即可实现。