Python 3.x 索引器:索引21超出大小为21&;的轴1的界限;索引问题

Python 3.x 索引器:索引21超出大小为21&;的轴1的界限;索引问题,python-3.x,numpy,for-loop,matrix,indexing,Python 3.x,Numpy,For Loop,Matrix,Indexing,我是Python新手,我知道类似的问题已经出现了,但它们并没有帮助我解决问题 我有一个代码片段: #creating output matrices: r0_res = np.ones((21,21)) r1_res = np.ones((21,21)) i = 0 j = 0 for jCross in range(280, 300): for kLong in range(6850, 6870): radObs = dataObs[kLong,jCross,::-

我是Python新手,我知道类似的问题已经出现了,但它们并没有帮助我解决问题

我有一个代码片段:

#creating output matrices:
r0_res = np.ones((21,21))
r1_res = np.ones((21,21))

i = 0
j = 0

for jCross in range(280, 300):
    for kLong in range(6850, 6870):
        radObs = dataObs[kLong,jCross,::-1]
        iLow = searchsorted(wGrid,vRange.lower)
        iHigh = searchsorted(wGrid,vRange.upper)
        odg_CH4_rg = interp(wGrid[iLow:iHigh], vGrid, odg_CH4)
        phi0 = radMod1
        phi1 = phi0*odg_CH4_rg 
        aMatrix = np.vstack([phi0, phi1]).T
        r0, r0_alpha = np.linalg.lstsq(aMatrix, radObs[iLow:iHigh])[0]
        r0_res[i, j]= r0
        r1_res[i, j]= r0_alpha
        j=j+1
    i=i+1
我需要说的是,所有“技术性”的东西都可以正常工作(我在没有for循环的情况下启动了它),所以现在我想把我的代码片段放入由2个变量组成的for循环中

我的目标:读取数据块(感兴趣区域形状:21*21)并将代码应用到每个元素,并将元素输出2个变量(r0和r0α)分别写入2个不同的空矩阵(r0μres和r1μres)

我已经尝试更改观察到的jCross和kLong变量的索引,但这没有帮助,仍然会导致相同的索引错误


非常感谢你的帮助

基本上这个问题可以通过 将创建的矩阵限制为20*20:

r0_res = np.ones((20,20))
r1_res = np.ones((20,20))
并在末尾使用“if”块:

r0, r0_alpha = np.linalg.lstsq(aMatrix, radObs[iLow:iHigh])[0]
if i<= 300:
    r0_res[i, j]= r0 
    r1_res[i, j]= r0_alpha
j=j+1
r0,r0_alpha=np.linalg.lstsq(aMatrix,radObs[iLow:iHigh])[0]
如果我