首页 > 解决方案 > 在 for 循环中将一维数组转换为二维

问题描述

我正在尝试运行这个脚本,它给了我错误“数组的索引太多:数组是一维的,但有 2 个被索引”。我怀疑它来自这个最初是一维的数组 SST_field。所以我想通过将这个 SST_field 从一维数组转换为二维数组来解决这个问题,但我不知道如何。有没有人能建议如何做到这一点?请帮忙!!谢谢你。

代码如下:

    for i in range(len(latlist)):
        if len(preslist[i])>0:
            idx=basinlist[i][0]
            month=monthlist[i][0]
            print(month)
            
            SST_field=SST_field_all[month]
            # np.savetxt(os.path.join(__location__,'test'+str(month+1)+'.txt'),SST_field_all)
            #problem area.....SSt Field giving NAN for all
            MSLP_field=MSLP_field_all[month]
            print(SST_field) 
            # print(MSLP_field)
            
            for j in range(len(preslist[i])):
                lat_index=np.abs(lat-latlist[i][j]).argmin()
                lon_index=np.abs(lon-lonlist[i][j]).argmin()
                #print(lat_index)
                # print(lon_index)

                if SST_field[lon_index,lat_index]>288.15 and preslist[i][j]>0: #only use SST>15C for the fit.
                    sst_list[idx].append(SST_field[lat_index,lon_index]-273.15)
                    intensity_list[idx].append(preslist[i][j])
                    pressure_drop_list[idx].append(MSLP_field[lat_index,lon_index]-preslist[i][j])
                    month_list[idx].append(month)

标签: pythonloopsnumpy-ndarray

解决方案


推荐阅读