如何求除z外的netCDF数组的最小值

2024-04-23 21:52:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是python2,并处理一个netcdf数据。在

这个数组是一个称为云水混合比的变量,它是WRF气候模型的输出,有4个维度:

QC(time (25), vertical level (69), latitude (119), longitude (199))

我试图得到这个数组中值的最小值。从使用NCVIEW visualization进行的初步分析中,我发现最小值约为1x10-5,最大值为1x10-3。在

我用过

^{pr2}$

最大值很好,但最小值为0.0。在

然后我从here尝试了一个解决方案,即

var[var>0].min()

但我也得零分。然后我意识到上面的代码适用于带负数的数组,而我的代码没有负数。在

我试着到处寻找解决办法,但没有找到适合我情况的解决办法。如果有人能给我指点正确的方向,我将不胜感激。 谢谢。在


Tags: 数据代码模型timevarnetcdf数组level
2条回答

很抱歉不能发布数据,因为我没有共享数据的特权。我尝试过创建一个与数据相似的随机4d数组,并使用了您提供的所有解决方案,尤其是@Joao Abrantes,它们似乎都工作得很好。所以我想可能数据有问题。在

幸运的是,数据没有问题。我已经和我的朋友讨论过了,我们终于找到了解决办法。在

解决办法是

qc[:][qc[:]>0].min()

我必须在变量后面指定[:],而不是仅仅

^{pr2}$

还有一种方法,就是将数组指定为numpy数组,因为,qc = fh.variables['QC'] 返回netCDF4.Variable。通过添加第二行qc2 = qc[:],它变成了努比·恩达雷. 在

^{3}$

如果我昨天发帖时问题不清楚,我很抱歉。我今天才知道的。在

var[var>0].min是一个函数,需要使用()调用它

var[var>0].min()应该能更好地工作

相关问题 更多 >