刚刚接触Python,看网上有问题说Python的for循环很慢,请问以下的代码有没有更快的写法,现在的运行是跑完这么一次函数需要2秒(Power.sel是是外部package的函数不能动,本质上就是输入风速ws,风向wd,然后给出当前的功率),但是我的程序最终应该是要在10000次循环以上的,还有其他的部分,所以希望各位能不吝赐教,敬请斧正。
def predata(sim_res):
DATA=np.zeros((28,363))
for i in range(4,24,1):
for j in range(1,359,1):
DATA[i,j]=sum(sim_res.Power.sel(ws=i, wd=j).values)
return DATA
请使用numba中的sum函数来累加,性能更好。其次先大循环再小循环会比先小循环更好。望采纳
就这点循环要2秒,应该不是循环慢的问题,而是sum(sim_res.Power.sel(ws=i, wd=j).values)处理速度有些慢吧。
不知道你这个问题是否已经解决, 如果还没有解决的话: