首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当创建一个CSV时,在熊猫中获得无限循环

当创建一个CSV时,在熊猫中获得无限循环
EN

Stack Overflow用户
提问于 2022-11-23 15:39:55
回答 1查看 29关注 0票数 0

我正在尝试创建一个函数

  • 接收两个单独的CSV文件,
  • 发现它们之间的差异,
  • 创建第三个CSV文件,其中填充属于特定类别的行(如果CSV B中的任何行都有CSV A的值)

但这创造了一个无限的循环。

它应该返回大约20-25行,但是在VSCode放弃并关闭之前,它被捕获在一个循环中,并创建了超过2亿行。

代码语言:javascript
复制
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,这样它就会中断,或者到处中断,但是都没有用

EN

回答 1

Stack Overflow用户

发布于 2022-11-23 19:10:00

我想明白了,在def中,我不应该在dataLoader和fila之间做一个连接。我应该创建fila,添加它们的值,然后返回它。这只会解决问题。

因此,总结如下:

代码语言:javascript
复制
def valorPivoteo(ftth_osp, valor_osp, pivote, dataLoader):
    fila = pd.DataFrame({"FTTH": [ftth_osp], "ID": pivote})
    return fila

希望这对将来的人有帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74549452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档