下面是我的代码的一部分,我试图从 0 开始,然后是 1、2、3、4,所以总共有 5 天,只是从 0 开始。有没有一种简单的方法可以做到这一点,因为目前我我只有第 1、2、3、4、5 天,因为我day = day + 1不允许有 0 天?对不起,如果这是一个愚蠢的问题,我对学习 Python 还是比较陌生。density = np.zeros((6, 91, 181))day = 0for i,e in df.iterrows(): lat = int((e['Latitude']+90)/2) long = int(e['Longitude']/2) if lat == 0.0 and long == 0.0: day = day + 1 print(day) density[day,lat,long] = e['rho']
1 回答

慕田峪4524236
TA贡献1875条经验 获得超5个赞
range()生成一个可用于此目的的可迭代对象,从 0 开始到您指定的任何值结束:
density = np.zeros((6, 91, 181))
days = range(5) # assign days to be an iterator, e.g. range()
for i,e in df.iterrows():
lat = int((e['Latitude']+90)/2)
long = int(e['Longitude']/2)
if lat == 0.0 and long == 0.0:
day = next(days) # assign day by popping the first value from that iterator
print(day)
density[day,lat,long] = e['rho']
如果您想要一个从零开始递增的无限数字列表,您可以制作自己的无限数字生成器:
def inf_ints():
i = 0
while True:
yield i
i += 1
...
days = inf_ints()
...
添加回答
举报
0/150
提交
取消