为什么迭代率会随着python中的迭代次数而变化?

时间:2018-08-10 05:14:46

标签: python performance for-loop

所以事情是,当我在6.5k次迭代中使用简单的for循环时,它的执行速度更快,这意味着它可以在更短的时间内覆盖更多的迭代,但是当我将其进行46k迭代时,其速度将大大降低。为什么会这样呢我的意思是迭代率应该在这里变化。

P.S:非常感谢您提供有关加快循环速度或解决此问题的帮助。

这里是供参考的循环:d2和transaction是一个字典,其中包含一些变量,每个键的列表长度,app是熊猫数据框,fr是列表。我在每次迭代时都打印变量计数器以查看进度,并且运行的迭代次数越来越多(即,fr中的内容更多),速度非常慢。

counter=0
for j in fr:
    counter+=1
    print(counter)
    if j==0:
        break
    d2[j].sort()
    previousDate=''
    cDate=''
    buffer='100'
    for m in d2[j]:

        cDate=m
        a=app[(app.FROM_ACCOUNT==j) & (app.TRANSACTION_DATE==m)]
        d1sum=a['ACTUAL_AMOUNT'].sum()
        if(transaction.get(j)==None):
            transaction.update({j:[str(d1sum)+','+m]})
            buffer=cDate
        else:
            if(buffer!=cDate):
                #print(j)
                transaction[j].append(str(d1sum)+','+m)
            buffer=cDate

0 个答案:

没有答案