陶情适性 2021-08-05 17:50 采纳率: 50%
浏览 49
已结题

嵌套循环怎么加快运行速度

for i in range(8000):
        for j in range(10000):
            if bool(re.findall(a.loc[i, 'num'][:-3], b.loc[j, 'nums'])):   #判断是否包含字段
                if a.loc[i, 'num']==b.loc[j, 'nums']:  #字段名相同跳过
                    pass
                else:
                    ssn =a.loc[i, 'num'].split('_')    #以_分割字符串
                    a.loc[i, 'num'] = ssn[0] + '_' + ssn[1] + 'M_' + ssn[2] #为字段名相似的增加'M'

数据集a里面有8000条数据,数据集b里面有10000条数据,遍历这两个数据集中选出某列对比内容,想做的操作就是相似的增加一个字母。运行太慢了,已经用过numba的jit装饰器。还是慢,怎么加快,这种嵌套循环可以加线程提高运行速度吗?还是进程什么的,换成map这些的感觉太复杂,我自己想不明白怎么改,希望得到各位大能的指导。

  • 写回答

2条回答 默认 最新

  • 忍气吞声埋头苦干 2021-08-05 18:02
    关注

    你这样每次循环正则+ == 判断都会使用时间耗费太多。
    转为多维数组,用pandas中内置的一些方法处理起来,效率会提升很多。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月14日
  • 已采纳回答 8月6日
  • 修改了问题 8月5日
  • 创建了问题 8月5日

悬赏问题

  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?