我有一个3D数据多维数据集,我试图在其他两个轴的特定值下绘制第一个轴的图。目的是在天空中的给定坐标上绘制速度图。

我试图通过输入最后两个轴的值从3D数组创建1D数组。这就是我尝试过的

achan=50

dchan = 200

lmcdata[:][achan][dchan]  #this array has three axes, vchan, achan, dchan.


我期望数组的大小为120,因为有120个速度通道组成了vchan轴。当尝试上面的代码时,我会不断获取大小为655的数组,这是dchan轴的条目数。

最佳答案

Python切片从左到右进行。在这种情况下,lmcdata[:]返回整个lmcdata列表。因此,lmcdata[:][achan][dchan]等效于lmcdata[achan][dchan]

对于像这样的更高级别的索引和切片任务,我强烈建议使用numpy软件包。将lmcdata转换为numpy数组:lmcdata = np.asarray(lmcdata)后,将可以按预期方式对其进行切片。

关于python - 来自3D阵列的1D图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55427474/

10-12 21:19