Python 每项矩阵的时间序列p值(3维)

Python 每项矩阵的时间序列p值(3维),python,time-series,correlation,p-value,significance,Python,Time Series,Correlation,P Value,Significance,我想为每个网格框关联时间序列(540个月长),循环2个纬度x 6个经度=总共12个网格框。我设法得到了相关系数,但是p值被证明是“nan”,尽管它们不应该 有关我的数据的信息: 数据1-形状:(540,2,6)尺寸:3 数据2-形状:(540,2,6)尺寸:3 我试过: np.corrcoef(数据1[gotdata,lt,ln],数据2[gotdata,lt,ln])[0,1] 可以很好地获得相关系数,但对于 p值 slope,intercept,r\u值,p\u值,std\u err=s

我想为每个网格框关联时间序列(540个月长),循环2个纬度x 6个经度=总共12个网格框。我设法得到了相关系数,但是p值被证明是“nan”,尽管它们不应该

有关我的数据的信息:
  • 数据1-形状:(540,2,6)尺寸:3
  • 数据2-形状:(540,2,6)尺寸:3
我试过:
  • np.corrcoef(数据1[gotdata,lt,ln],数据2[gotdata,lt,ln])[0,1]
    可以很好地获得相关系数,但对于 p值
  • slope,intercept,r\u值,p\u值,std\u err=scipy.stats.linregresse(数据1[gotdata,lt,ln],数据2[gotdata,lt,ln])
    给出pvalue=nan
  • scipy.stats.pearsonr(数据1[gotdata,lt,ln],数据2[gotdata,lt,ln])
    给出了错误
  • “ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()”

    TheMDI代表-1e30,缺少数据

    代码:
    仅通过选择gotdata的第一个条目([0])来解决:

    gotdata = np.where((TheData1[:,lt,ln] > TheMDI) & (TheData2[:,lt,ln] > TheMDI))[0]
    
    这使得scipy.stats.pearsonr给出了一个p值

    gotdata = np.where((TheData1[:,lt,ln] > TheMDI) & (TheData2[:,lt,ln] > TheMDI))[0]