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
一个简单的转置即可实现。
我正在尝试使用 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
一个简单的转置即可实现。