我要大胆猜测一下,你正在使用[NOAA OISST数据][1],尽管我不认为这对这里的答案有什么影响。注意你的循环,' ' ' python for i in range(len(lat)): for j in range(len(lon)): for m in range(len(lat)): for n in range(len(lon)): ' ' '将只生成索引,' ' ' python i = 0,…, 8 j = 0,…, 31 m = 0,…, n = 0,…当您使用' sst5[59:90,i,j] '和' sst5[59:90,m,n] '子集全局SST数组时,您不是从' lat '和' lon '变量中的热带点提取数据,您只是从数组的角落提取数据。这是南极洲,因此没有海表温度数据和“numpy”。corrcoef '将只看到缺失的数据值,并试图除以零协方差,产生NaN值。当这种情况发生时,我的Numpy发出以下警告:RuntimeWarning: invalid value meet in true_divide c /= stddev[:, None]我怀疑你可以只是提取你想要的点到一个形状为' (NTIME, NPOINTS) '的数组中,并调用' np.ma。把它作为一个完整的数组操作,而不是使用所有这些嵌套循环。[1]: https://psl.noaa.gov/repository/entry/show?entryid=ca90a190 f6b1 - 475 f - bbe0 cb0a308520——53
Baidu
map