首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对二维python数组执行Bilerping操作会产生比预期更多的值。有人能解释这个吗?

对二维python数组执行Bilerping操作会产生比预期更多的值。有人能解释这个吗?
EN

Stack Overflow用户
提问于 2015-03-04 11:36:20
回答 1查看 49关注 0票数 0

当我运行下面的代码时,我得到(24,170,180) (29559,)

作为我的print语句的答案(打印数组的形状)。我使用的原始数据集的形状是(24,170,180)。因此,当前数据集dataArr的维度为170*180。我修正了t=10(这里有24维)遍历2d数组并将一个单元格(四个数据点- i,j i+1,j,i,j+1,i+1,j+1)转换为一个值并附加到self.tempY数组的时间。所以对于self.tempY数组的形状,我应该得到的值是170*180。但是结果集有29904个值。为什么我会得到这个值?

代码语言:javascript
复制
def compute(self,varval):      
    vars=self.data.variables
    for var in vars:
        if var==varval:
            ntimes, ny, nx=vars[var].shape #inherit the method above.
    print(ntimes, ny, nx)
    #create the old computational grid.
    computational_grid=np.zeros((ny,nx),dtype=int) 
    fraction=.5 
    newnx,newny =(nx*fraction,ny*fraction)
    new_computational_grid=np.zeros((newny,newnx),dtype=int)
    phy_value_arr=self.get_data(varval)
    t=10 #send this t value with coords
    dataArr=self.data.variables['tos'][t]     
    for j in range(1,(nx-2),1):
        for i in range(1,(ny-2),1):
           a=self.Lerp((dataArr[i][j+1]),(dataArr[i+1][j+1]),fraction)
           b=self.Lerp((dataArr[i][j]),(dataArr[i+1][j]),fraction)
           self.tempY.append(self.Lerp(a,b,fraction))
    smallgridarray = np.asarray(self.tempY)
    print(smallgridarray.shape)
def Lerp(self, _a, _b, _t) :
  return _a+(_b-_a)*_t    
EN

回答 1

Stack Overflow用户

发布于 2015-03-04 12:37:45

好吧,我知道为什么了!这是我从nx-2 *ny-2得到的正确点数,即: 168*178

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28846257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档