变量的二重维数

2024-05-16 00:35:02 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我第一次用Python编程(我以前用过NCL),我尝试将变量的经度增加一倍rad\u coolprec。 但是我对Python的语法有一个问题,得到了一个错误:

IndexError: list assignment index out of range

这是我的密码:

n=np.size(time_sat)
m=np.size(lat_sat)
l=np.size(lon_sat)*2
prec_double=[[n],[m],[l]]
rad_cool_double=[[n],[m],[l]]

for j in range(0,720):
    if(j<=359):
      rad_cool_double[:][:][j]=rad_cool[:][:][j]
      prec_double[:][:][j]=prec[:][:][j]
    else:
       rad_cool_double[:][:][j]=rad_cool[:][:][j-np.size(lon_sat)]
       prec_double[:][:][j]=prec[:][:][j-np.size(lon_sat)] 

有人能帮我吗?你知道吗

干杯, 狮子座


Tags: size编程错误np语法rangesatdouble
2条回答

好的,我修好了!切错了。你知道吗

Not [:][:][j] but [:,:,j]

谢谢你!:)

我认为您希望prec_doublerad_cool_double成为numpy数组。在这里,您将它们定义为列表。你知道吗

 n=731
 m=180
 l=720
 prec_double=[[n],[m],[l]]

将导致prec\u double成为

[[731], [180], [720]]

您希望使用创建这些变量作为numpy数组

prec_double = np.zeros([n,m,l])

这将用零填充它们。你知道吗

相关问题 更多 >