关于Python for循环提速的问题

刚刚接触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)处理速度有些慢吧。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:python for循环异常

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^