我在创建矩阵时遇到了问题。我期望输出矩阵d20的维数为nt*12 x ny x nx,但我得到的矩阵的维数为nt x ny x nx。
代码(Python中)如下:
d20=ma.empty([nt*12,ny,nx]);
for k in range(nt):
ee=time[k]
files3='thetao_ora20c_1m_' +str(ee) +'_grid_1x1.nc'
fils3 = nc.Dataset(path+ files3,'r')
t3=np.array(fils3.variables['thetao'][:,:,:,:])
for i in range(nx):
for j in range(ny):
for monthit in range(12):
t3c=t3[monthit,:,j,i]
dd = [i for (i, val) in enumerate(t3c[:]) if val >= 19.5 and val <= 20.5]
if len(dd)==0:
d20[12*k+monthit,j,i]=0;
else:
d20[12*k+monthit,j,i]=dep[dd[0]]
CreateFilenc(d20, 'D20', 'meters', lat, lon, path +'D20_global_1900_2009_ora20c_op.nc')
在这里,每一年,我打开一个不同的文件。时间是一个长度为nt的向量,其中每个元素都是从1900年到2009年的一年。为什么我会得到错误的尺寸?我做错了什么?
先谢谢你了。
1条答案
按热度按时间izkcnapc1#
“妈”是什么?如果你使用numpy,它可以工作: