所以事情是,当我在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