我正在尝试创建一个函数
但这创造了一个无限的循环。
它应该返回大约20-25行,但是在VSCode放弃并关闭之前,它被捕获在一个循环中,并创建了超过2亿行。
def valorPivoteo(ftth_osp, pivote, dataLoader):
# for a, sig in array_sig.iterrows():
# for b, sig in array_osp.iterrows():
fila = pd.DataFrame({"FTTH": [ftth_osp], "ID": pivote})
dataLoader = pd.concat([dataLoader, fila])
return dataLoader
## Main which calls the previous def
for i, sig in array_sig.iterrows():
for j, osp in array_osp.iterrows():
if(etc):
etc
elif(etc):
etc
else:
buscarIDOSP = buscarID(valor_sig, array_osp)
if(buscarIDOSP == False):
x = valorReemplazo(ftth_osp, ftth_sig, valor_sig, valor_osp, dataLoader)
dataLoader = pd.concat([dataLoader, x], ignore_index=True)
break
elif(buscarIDOSP == True):
y = valorPivoteo(ftth_osp, pivote, dataLoader)
dataLoader = pd.concat([dataLoader, y], ignore_index=True)
pivote+=1
break试着压缩代码,这样读起来就不那么烦人了,尝试在i或j中的某个值实现之后创建一个if,这样它就会中断,或者到处中断,但是都没有用
发布于 2022-11-23 19:10:00
我想明白了,在def中,我不应该在dataLoader和fila之间做一个连接。我应该创建fila,添加它们的值,然后返回它。这只会解决问题。
因此,总结如下:
def valorPivoteo(ftth_osp, valor_osp, pivote, dataLoader):
fila = pd.DataFrame({"FTTH": [ftth_osp], "ID": pivote})
return fila希望这对将来的人有帮助!
https://stackoverflow.com/questions/74549452
复制相似问题