for循环执行速度越来越慢 [问题点数:30分,结帖人clon_forever]

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs1
本版专家分:0
结帖率 100%
Bbs1
本版专家分:40
Bbs5
本版专家分:2730
Bbs1
本版专家分:0
Bbs1
本版专家分:31
Bbs6
本版专家分:5278
Bbs1
本版专家分:40
Bbs1
本版专家分:0
Bbs1
本版专家分:0
for循环,数据量很大,导致结果很,求解
在项目中遇到了一个问题,for<em>循环</em>中数据量很大,并且是多重for<em>循环</em>(每一重<em>循环</em>中数据量都有可能很大)。这样导致结果很<em>慢</em>,有什么可以优化的方法吗,求解。另外,在项目中的for<em>循环</em>中有需要返回的值。此处
关于python中利用for循环遍历图像,运行速度解决方法
用python写的for<em>循环</em>对图片遍历像素处。如果图像像素质量很高,运行<em>速度</em>很<em>慢</em>。想到既然是像素操作能不能用gpu来分担cpu的工作以加速运行。 利用numba模块进行加速。 import cv2 import numpy as np import matplotlib.pyplot as plt from numba import jit import time img = cv2.imr...
for循环太多,导致运行时间太长,如何优化
代码比较low,for<em>循环</em>太多,导致运行时间太长,各路大神能不能帮忙看看怎么优化? // 求最大子矩阵 #include "stdafx.h" #include using nam
多重for循环优化,提升运行效率
在<em>循环</em>次数较少的时候一般不会发现for<em>循环</em>的写法会对效率产生多大问题,但一旦<em>循环</em>次数较多,比如说上万,<em>循环</em>层数较多,效率问题就非常明显了,我是在做一个数据量非常大有三层for<em>循环</em>的项目的时候,为显示曲线出来太花费时间,客户体验会非常不好,才研究这个情况的,事实证明,优化后的多重for<em>循环</em>提升了一大半的效率,是不是很神奇。 当然,本文也有借鉴其他同胞的方法。 实例化变量放在for<em>循环</em>外,减少实...
为什么Python循环
我创建一个while<em>循环</em>和print每个<em>循环</em>的时间戳。一开始我每秒获得约33个<em>循环</em>的性能。但是,时间越长,<em>速度</em>越<em>慢</em>。在3分钟时,我每秒显示2个<em>循环</em>。我尝试使用threading.Timer它来代替,但是它做同样的事情。我知道计算的内存和复杂性可能是一个问题,但在这种情况下似乎并非如此。 我想在几个小时内运行代码,如何避免性能不足?您的帮助将不胜感激。 &lt;span style="colo...
多次循环计算太,请求大神帮忙优化过程
代码如下,多次计算太<em>慢</em>,请求大神帮忙优化优化,非常感谢 for (int i=0;i<750;a+=1) { for (b=8
嵌套for循环语句的性能优化
关于for<em>循环</em>语句的性能优化如下:for(int i=0;i<=10
嵌套For循环性能优化案例
[size=x-large][b]1 案例描述[/b][/size] 某日,在JavaEye上看到一道面试题,题目是这样的:请对以下的代码进行优化 [code=&quot;java&quot;] for (int i = 0; i &lt; 1000; i++) for (int j = 0; j &lt; 100; j++) for (int k = 0; k &lt; 10; k++) testFuncti...
git版本库中python程序大量I/O操作越跑越的问题
最近做有关图像的实验,涉及到大量的图像生成和写入操作 过程中发现程序越跑越<em>慢</em>,每个单位操作时间几乎等差增长,14s,20s,25,30。。。。。跑到一半单位操作已经超过200s,受不了了 百度之,发现python的GC有可能耽误程序运行时间,按照相应教程 gc.disable  gc.enable,并没有用 百思不得其姐, 打开资源管理器,发现git正在消耗大量的CPU,突然发现:程序运行
Python处理大数据越来越的问题
Python处理大数据<em>越来越</em><em>慢</em>的问题          Python在对大数据进行处理时,发现随着数据处理量的增大,性能急剧下降。查找原因发现是由于GC(垃圾回收)造成的性能下降。          Python的垃圾回收机制的工作原理为每个对象维护一个引用计数,每次内存对象的创建与销毁都必须修改引用计数,从而在大量的对象创建时,需要大量的<em>执行</em>修改引用计数操作,对于程序<em>执行</em>过程中,
python循环调用函数,运行速度
python3,编写了个主函数,主函数里面调用了一个函数,,现在对主函数<em>循环</em>调用,输出结果,运行<em>速度</em>太<em>慢</em>,有没有解决办法。
python循环运行函数会变吗?
我进行一个二分排序算法,想<em>循环</em>多次以排除随机性,结果发现<em>执行</em><em>速度</em><em>越来越</em><em>慢</em>。 因为最初是为了比较二分排序和插入排序的性能,所以也写了插入排序,虽然<em>执行</em><em>速度</em>也在变<em>慢</em>,但梯度不高。考虑是不是因为赋值多的关系
代码越跑越,求高人解!
1, ThreadPool.QueueUserWorkItem(new WaitCallback(RUN_SERVER), DS_OLD_real); //线程池 进入函数 DS_OLD_real是D
pandas问题,分块读取,速度越来越
``` dataset = P.read_csv(r'E:\try\Stock_All.csv',chunksize = 4096,dtype ={'code':str}) for each in dataset: print('正在处理第 %d 块' % n) n += 1 unique = each['code'].unique() for each_code in unique: filedir = r'E:\try\S_A_Sep' +'\\'+ str(each_code) +'.csv' columns_need = ['date','open','high','close','low','volume','amount','code','id'] each[each['code'] == each_code].loc[:,columns_need].to_csv(filedir,mode ='a',header = columns_need) del each return None ``` 前1000块处理<em>速度</em>非常快,但到1500后面就非常<em>慢</em> 尝试用del each释放内存,没办法 有大神能解释下读取<em>速度</em>变<em>慢</em>的原因和解决方法吗
【R】提升R代码运算效率的11个实用方法
众所周知,当我们利用R语言处理大型数据集时,for<em>循环</em>语句的运算效率非常低。有许多种方法可以提升你的代码运算效率,但或许你更想了解运算效率能得到多大的提升。本文将介绍几种适用于大数据领域的方法,包括简单的逻辑调整设计、并行处理和Rcpp的运用,利用这些方法你可以轻松地处理1亿行以上的数据集。 让我们尝试提升往数据框中添加一个新变量过程(该过程中包含<em>循环</em>和判断语句)的运算效率。下面的代码输出原始数
R语言:for循环使用小结
基本结构展示: vals =c(5,6,7) for(v in vals){   print(v) } #即把大括号里的内容对vals里的每一个值都<em>循环</em>run一遍 实例展示: 1. paste() 命令是把几个字符连接起来,如paste("A","B","C",sep=" ")得到的就是“A B C”,在次基础上写如下for loop: partnumber = c
R语言多线程运算(解决R循环的问题)【转载】
已经大半年没有更新博客了。。最近都跑去写分析报告半年没有R这次记录下关于R<em>循环</em>(百万级以上)死<em>慢</em>死<em>慢</em>的问题,这个问题去年就碰到过,当时也尝试过多线程,but failed......昨天试了下,终于跑通了,而且过程还挺顺利step1先查下自己电脑几核的,n核貌似应该选跑n个线程,线程不是越多越好,线程个数和任务运行时间是条开口向下的抛物线,最高点预计在电脑的核数上。detectCores( )检查...
Python解决嵌套for循环性能
``` 两个json文件关联 其中文件file1次取500条关file2 关联得到结果500条记录 目前情况是file2数据总数大概十万左右 for<em>循环</em>嵌套关联效率极低 ``` ###代码: ``` import json with open(file1,'r') as f1,open(file2,'r') as f2: a=json.load(f1) b=json.load(f2) list_a=[] for i in range(len(a)): for n in range(len(b)): if b[n]["id"]==a[i]["id"]: list_a.append(dict(b[n],**a[i])) f3=open(result,'w') as f3 json.dump(list_a, f3,sort_keys=True, ensure_ascii=False) f3.close() ``` ###1000条关联7万数据大概是两分钟 **file1 :** ``` [ { "id":"1", "name":"Tom" }, { "id":"2", "name":"Jim" }, { "id":"3", "name":"Bob" }, { "id":"4", "name":"Jeny" }, { "id":"5", "name":"Lara" }, { "id":"6", "name":"Lin" }, { "id":"7", "name":"Kim" }, { "id":"8", "name":"Jack" }, { "id":"9", "name":"Tony" } ] `` ##file2## ``` [ { "id":"1", "Details":[ { "label":"jcc", "hooby":"Swimming" }, { "label":"hkt", "hooby":"Basketball" }, ] }, { "id":"2", "Details":[ { "label":"NTC", "hooby":"Games" } ] }, { "id":"3", "Details":[ { "label":"Nill", "hooby":"BBQ" }, { "label":"hkt", "hooby":"PAY" }, ] }, { "id":"4", "Details":[ { "label":"HFF", "hooby":"Games" } ] }, { "id":"5", "Details":[ { "label":"Make", "hooby":"BBQ" } ] }, { "id":"6", "Details":[ { "label":"LLL", "hooby":"Games" } ] }, { "id":"7", "Details":[ { "label":"mmm", "hooby":"Games" } ] }, { "id":"8", "Details":[ { "label":"nnn", "hooby":"Games" } ] }, { "id":"9", "Details":[ { "label":"yyy", "hooby":"Games" } ] } ] ``` #### ##预期结果:## ``` [ { "id":"1", "name":"Tom", "Details":[ { "label":"jcc", "hooby":"Swimming" }, { "label":"hkt", "hooby":"Basketball" }, ] }, { "id":"2", "name":"Jim", "Details":[ { "label":"NTC", "hooby":"Games" } ] }, { "id":"3", "name":"Bob", "Details":[ { "label":"Nill", "hooby":"BBQ" }, { "label":"hkt", "hooby":"PAY" }, ] }, { "id":"4", "name":"Jeny", "Details":[ { "label":"HFF", "hooby":"Games" } ] }, { "id":"5", "name":"Lara", "Details":[ { "label":"Make", "hooby":"BBQ" } ] }, { "id":"6", "name":"Lin", "Details":[ { "label":"LLL", "hooby":"Games" } ] }, { "id":"7", "name":"Kim", "Details":[ { "label":"mmm", "hooby":"Games" } ] }, { "id":"8", "name":"Jack", "Details":[ { "label":"nnn", "hooby":"Games" } ] }, { "id":"9", "name":"Tony", "Details":[ { "label":"yyy", "hooby":"Games" } ] } ] ``` ``` 能不能把file1 map到一个里面然后只<em>执行</em>一次匹配 ```
python for循环的弊端
熟知的for<em>循环</em>java中这样写:```for(int i = 0; i &amp;lt; 10; i ++){ if (i == 3){ i = i + 3; } System.out.println(&quot;i:&quot; + i); }i:0i:1i:2i:6i:7i:8i:9```python:```&amp;gt;&amp;gt;&amp;gt; for i in range(10):......
关于for循环执行效率问题
我以前遇到的问题大概都是这种类型的:  1 for(int i = 0;i  2 {  3    for(int j = 0;j  4    {  5       //balabala  6    }  7 }  8 和  9 for(int i = 0;i 10 { 11    for(int j = 0;j 12    { 13       //balabala
使用两个for循环的时候,会非常,效率不高,使用构造字典,效率快了不少一点点!
假如有两张表t1和t2,t1是属性是id name,t2是id  sex。两张表id是关联的。假如有两个集合,C1和C2,C1存着T1的数据,C2存着T2的数据。 此时我们想,将C1和C2的数据整合到一起变成新的对象,属性为id ,name,sex。 一般我们都会使用for(){for(){}}两个for嵌套,这种效率是很<em>慢</em>的,如果集合是10条数据,则会需要遍历10*10=100次。 这是后
for循环嵌套带来的超长耗时
1.场景描述 我们在做增量库存同步的时候,有这样的逻辑: (1).从库存系统拿到指定时间到当前时间期间库存变动的货品编码; (2).从本系统的数据库和redis中拿到本店铺的货品编码[涉及到重复铺货]; (3).取出两者的交集,就是本店铺中这段时间有库存变动的货品编码集合; (4).用这个交集做入参查询对应的库存; (5).将这个变动的库存送到淘宝平台; 2.故障现象 如果我们设定的时间距离当前...
Foreach嵌套Foreach速度优化方案
有时候这样的效率还可以,但是只要牵涉到操作数据库,那就GAMEOVER。。 最近在维护项目,一个Foreach<em>循环</em>,4分半才能出来结果。 代码: foreach ($content as $key =&amp;gt; $val) {             $user = $userModel-&amp;gt;where(array('username'=&amp;gt;$val))-&amp;gt;Field('id,...
多个for循环嵌套会影响速度
在复现Meta-SR的过程中,发现如果嵌套多个for <em>循环</em>会使<em>速度</em>过<em>慢</em>。这是下面实验得出的结论: Corder = torch.ne(ouput[0,0,:,:],np.NAN)# Corder = []# for i in range(outH):# for j in range(outW):# i1,j1 = i//self.scale, j//self.scal...
加速Python循环
1、使用forimport numpy as np from datetime import datetimeimg=np.random.random([10000,10000])start_time=datetime.now() img2=[] for i in img: for j in i: if j > 0.5: img2.append(1.)
提升Python运行效率的小窍门
说起Python,作为一门大热的编程语言,它简单易学、语法优美,自身拥有丰富强大的库,而且应用范围也是十分广泛。毫无疑问,Python 确实有用很多的优点,每一个优点看起来都非常吸引人。但是,Python 并不是没有缺点的,最主要的缺点之一就是Python 的<em>执行</em><em>速度</em>不够快。针对这个问题,下面为大家搜集了6个可以提高Python运行效率的小窍门。窍门一:关键代码使用外部功能包...
双重for循环速度,大家帮忙看下
大家帮忙看下,$num的值为4或12.最后输出str。但是要17-18s。谢谢了! for($j=0;$j<count($o);$i++)
python for循环优化问题
最近要处理一些信号数据,将这些数据转换成频域数据,使用for<em>循环</em>操作,由于数据量特别大有2555903条数据,每条数据维数是,用时间函数计算每条数据处理时间是0.15秒,粗略算一下处理这些数据需要10
for循环次数比较多,如何提高速度
我需要做的就是在for操作里面,每次<em>循环</em>ping不同IP,<em>速度</em>很<em>慢</em>,如何提高?麻烦贴出code,谢谢啦。
python中利用线程池提高for循环效率
任务:读取文件每一行,并<em>执行</em>相应的操作(以打印行内容为例)。 for<em>循环</em>方式: f = open('test.txt', 'r') for line in f.readlines(): print(line) f.close() 线程池方式: from multiprocessing.pool import ThreadPool def my_print(item): ...
python for循环字典遍历计算速度,初学python,求大神优化
Fracture_dic是一个字典,大概14万个keys; New_node_assign也是一个字典,也大概14万个keys。 下面是计算<em>速度</em>很<em>慢</em>的代码: =====================
for循环的一种加速方法
for<em>循环</em>的一种加速方法
java中for循环性能的优化(一)
for <em>循环</em>性能测试(多层for<em>循环</em>的嵌套顺序)由于CPU在内外之间的切换会有一定的开销,因此如果可能的话, 应该尽可能较少内外层<em>循环</em>切换的次数.只需使最外层<em>循环</em>的次数最少,内层<em>循环</em>次数多即可. (若观点有误请大神们多多指教)public class test2 {    public static void main(String[] args) {        int v1 = 100;  ...
向量化与for循环耗时对比——python实现
向量化与for<em>循环</em>耗时对比——python实现深度学习中,可采用向量化替代for<em>循环</em>,优化耗时问题对比例程如下,参考Andrew NG的课程笔记import time import numpy as npa = np.random.rand(1000000) b = np.random.rand(1000000)tic = time.time() c = np.dot(a,b) toc = time
如何能加快for 循环速度,谢谢大家!
有一个字符串,内有字符从1到100万 string Zifuchuan="1,2,3,……1000000" 我想让他每一个内部的字符都乘上2,然后插入到数据库中 我用的是把他通过Split(',')
为啥 Python 运行速度这么
作者:Anthony Shaw 是 Python 软件基金会成员和 Apache 基金会成员。   近来Python可谓人气骤升。这门编程语言用于开发运维(DevOps)、数据科学、网站开发和安全。 然而,它没有因<em>速度</em>而赢得任何奖牌。   Java在<em>速度</em>方面与C、C++、C#或Python相比如何?答案很大程度上取决于你运行的应用程序的类型。没有哪个基准测试程序尽善尽美,不过The Co...
java循环次数多很的问题解决方法
java<em>循环</em>次数多很<em>慢</em>的问题解决方法 解决方法: 直接上源码,本例子使用了分治编程,可以复制运行一下,不用依赖第三方包。86400次<em>循环</em>内嵌套1000000次<em>循环</em>演示。 http://www.yayihouse.com/yayishuwu/chapter/1498...
Python for 循环的一个坑
用惯C++/Java 的for <em>循环</em>,很自然地以为
for循环和forEach的速度问题
for<em>循环</em>是比较古老的<em>循环</em>方式,不少人对他的写法已经觉得厌烦,随着js的发展<em>越来越</em>多的遍历方式逐一诞生: forEach, map, filter,every,some,for of等等,简洁的语法让人赏心悦目。 forEach代码实现: if (!Array.prototype.forEach) { Array.prototype.forEach = function(fun /*, th...
matlab for循环其实并不
matlab for<em>循环</em>其实并不<em>慢</em>,首先matlab是一个解释性语言,变量不需要提前申明,这也就是导致很多人误认为matlab for<em>循环</em>很<em>慢</em>的。其实是错误的认识! 原因:因为matlab<em>循环</em>中变量没有预先声明,导致在<em>循环</em>中数组大小不断变化,当大小增长时,当前数组可能需要复制到新的更大的连续内存中,这显然会导致不必要的开销。如果数组长度较短,发生上述复制过程的次数少一些,而且发生时需要复制的内容
不恰当的使用for循环,会使速度千倍
测试发现,不恰当的使用for<em>循环</em>语法,会使查询效率<em>慢</em>千倍.谨记.   /** * TODO 测试发现.两种不同的for写法,list中46000条数据.效率差了1000多倍. * * 2016年4月6日 * novelbio fans.fan */ public void testArray() { String filePathAndName ...
python:永远别写for循环
在网上看到一篇关于python避免写for<em>循环</em>的博文,mark一下,值得思考! 为什么要挑战自己在代码里不写for loop?因为这样可以迫使你去使用比较高级、地道的语法或库。文中以python为例子,讲了不少大家其实在别人的代码里都见过、但自己很少用的语法。 这是一个挑战。我要你避免在任何情况下写for<em>循环</em>。同样的,我也要你找到一种场景——除了用for<em>循环</em>以外,用其他方法
Python - 代替for循环的方法汇总(持续更新)
1. 列表解析 创建列表: squares = [] for value in range(1, 11): squares.append(value**2) 可用如下代码代替: squares = [value**2 for value in range(1,11)] 2. 利用map函数,操作列表中的每一个元素 map函数基本语法如下: map(function, iterable...
还在抱怨pandas运行速度?这几个方法会颠覆你的看法
前言 当大家谈到数据分析时,提及最多的语言就是Python和SQL。Python之所以适合数据分析,是因为它有很多第三方强大的库来协助,pandas就是其中之一。pandas的文档中是这样描述的: “快速,灵活,富有表现力的数据结构,旨在使”关系“或”标记“数据的使用既简单又直观。” 我们知道pandas的两个主要数据结构:dataframe和series,我们对数据的一些操作都是基于这两个...
关于for循环效率的问题
那位大神能帮忙解释一下 一般都是外层<em>循环</em>小内层<em>循环</em>大的效率会比外层大内层小快,但是如果用一个<em>循环</em>为什么会比用两个<em>循环</em><em>慢</em>呢,而且会<em>慢</em>很多 import java.util.Date; public cl
java for循环四千多次 每次循环内部还要有其他处理逻辑 导致速度 如何优化
java for<em>循环</em>四千多次 每次<em>循环</em>内部都要有其他处理逻辑 导致<em>速度</em>很<em>慢</em> 如何优化
matlab for循环过大程序运行解决方案
实验室经常需要使用到matlab,for<em>循环</em>非常<em>慢</em>,自己找了一些matlab中for<em>循环</em>的优化方法,for的部分每处理一个大矩阵都要花费大量的时间,这是不可避免需要遇到的问题~。 方法1:<em>循环</em>多不要紧,要紧的是<em>循环</em>嵌套得太多,要解决这个问题,需要从根本上找原因,用更好的数据结构和算法,从根源上减少对于<em>循环</em>的需求 方法2:将<em>循环</em>次数多的放在里面,<em>循环</em>次数少的放在外面做大<em>循环</em>
常见For 循环优化方式总结——值得一看的提高效率小妙招
前言我们都经常使用一些<em>循环</em>耗时计算的操作,特别是for<em>循环</em>,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当将大大提高效率,下面总结几条for<em>循环</em>的常见优化方式。首先,我们初始化一个集合 list,如下:List&amp;lt;String&amp;gt; list = new ArrayList&amp;lt;String&amp;gt;(); 方法一:最常规的不加思考的写法 优点:较常见,易于理解 缺点:...
Python几种语句执行效率问题
一个功能的实现,可以用多种语句来实现,比如说:while语句、for语句、生成器、列表推导、内置函数等实现,写了一个小程序来测试它们<em>执行</em>的效率。 测试内容:  将一个数字大小为20万的数字,依次取绝对值,放到列表中,测试重复1千次. 测试结果: >>> 2.7.4 (default, Apr 6 2013, 19:55:15) [MSC v.1500 64 bit (AMD64)] w
你的for循环真的高效吗——优化for循环第一章
在我们所写的程序中,几乎没有不用到for<em>循环</em>的,但是,对于for<em>循环</em>,很多人确实效率很低的,包括我看得很多代码,for<em>循环</em>的<em>执行</em>效率非常低,下面我就举个例子来说明:#include char *string="zhangbo"; int main(int argc,char **argv) { int i; for(i=0;i这个上边的程序程序我想大家都明白,那我问问读者,你知道这个程序的效率是多少吗?你肯定不屑的说,不就是n吗?其实,你错了,你说的n只是在算法层面上的优化,其实对于底
嵌套for循环速度
最近使用嵌套for<em>循环</em>,外层18000次,内层15000,据说把<em>循环</em>次数少的放在外层,而多的放在内层,这样可以提高运行<em>速度</em>,但经测试没有太大的变化,敢问哪位大虾知道怎么优化之,多谢了!
1s内能执行多少次for循环
这道题还可以这样来问 for(;;) 和 while(true) 哪一种效率会高一些? 这里用到了GetTickCount()函数 测试某个函数的效率时 会经常使用 DWORD startTick = GetTickCount(); // do func xx DWORD endTick = GetTickCount(); int elapseSec = (endTick - star
一种利用线程池进行for循环处理的思想
在for里面,如果<em>执行</em>一次for里面的内容所需时间“较长”(相对而言),不妨改用线程池的方式。 如下测试: public class ExecutorTest2 { private static final int loopNum = 1*10; public static void main(String args[]) throws Interrupted...
一行代码让你的python运行速度提高100倍
Python用的好,猪也能飞起来。python一直被病垢运行<em>速度</em>太<em>慢</em>,但是实际上python的<em>执行</em>效率并不<em>慢</em>,<em>慢</em>的是python用的解释器Cpython运行效率太差。“一...
python中for循环/迭代的技巧
示例如下: # -*- coding: utf-8 -*- def print_elem(container): for elem in container: print(elem, end=' | ') print() ''' 在迭代过程中修改迭代序列不安全,所以要修改序列时, 要对它的副本做迭代,而不是原序列本身 ''' arr = [1, 2,
python中矩阵(matrix或array)运算比for循环速度更快
在matlab中进行矩阵元素处理时,使用矩阵运算比for<em>循环</em>快。在Python语言中也是这样的。下面这个程序是一个简单的测试。 import time as tm import numpy as np dim = 100000#数据长度(包含的元素个数) x1 = np.ones(dim) x2 = np.ones(dim) yFor = np.ones(dim) tStart = tm
Python——for循环
python的<em>循环</em>和c/c++的略有不同 例:for i in range(10): ...in字面意思,从某个集合(列表等)里顺次取值rangerange函数生成一个等差级数链表,比如range(10)生成从0到9的整数,注意,如果只有一个参数,则这个参数为右边界,则左边界默认为0,右边界取不到,而和c语言中for<em>循环</em>的停止条件一般使用而不用≤或大于等于 例://C语言for<em>循环</em>
如何对python代码进行优化,以提高运行速度
遇到个代码优化的问题。。想请教下。。这段代码,结构或是哪里该如何优化下,以提高运行<em>速度</em>。。 大致情况先介绍下: 1. 代码需要考虑指定文件的输出---也就是相应数据是否需要计算;代码中的if output1 / output2 in condition,即是用来判断是否需要进行计算; 2. 计算需要分步骤进行。大致是先根据原始数据,计算原始数据的x1值(该步骤已经<em>执行</em>)。再根据x1值,计算相应的x1x2值,和x3值。然后将x1x2和x3拼接起来。 3. 数据量是10W行,为时间数据。。分两种情况进行计算(也就是两种情况的结果输出)。一种是每行时间数据,均要输出一个结果。另一种是对某个字段进行分组,然后根据分组来输出计算结果(比如企业)。 具体代码如下: ``` t05 = time.time() #计算x1x2和x3的值(x1值已计算出来) for i in std_level: max_std,min_std,l_1,l_2,l_3,l_4,l_5 = std_level[i][0] #生成标准的数据表,用于对照取值 #对原x1的字段的空值填充为0,方便跳过数值0进行数据处理。同时便于后期与目标值比较。 if output1 in condition: #这个情况,是根据用户需求,进行相应的输出。如用户有需求,则<em>执行</em>下面的代码 data['%s_x1'%i].fillna(0,inplace =True) if output2 in condition: f_data['%s_x1'%i].fillna(0,inplace =True) #定义x1x2的函数 #x1为原始数据对应的等级,值为1--6(如原数据缺失,则为空值。为便于判断,需将x1的缺失值填充为0) #原则是,如x1(数据等级)为空值,则不进行判定(返回空值)。如等级为1或6,单独计算。如等级介于1和6之间,则统一计算。 def tran_x1x2(x): dj = x['%s_x1'%i] jc = x[i] if dj == 0: return np.NaN #务必要返回np.NaN,否则返回空字符串None,影响后面x2的计算。 else: if dj not in [1,6]: #根据介于等级1和6之间时的x1x2的计算公式 up = std_level[i][0][int(dj)] dn = std_level[i][0][int(dj)+1] return round(dj + (up - jc) / (up -dn),1) else: if dj == 1: return 1.0 else: return round(dj + (l_5 - jc) / l_5 * 4,1) #需事先定义好x1x2的函数,方能进行apply。而x1x2的函数定义,又需要事先对x1填充。。所以需要将条件判断,分开两次重复进行 #本来考虑可以将条件判断合并到一起。。但是这样会增加重复的代码量,而且不能保证提高<em>速度</em>。 #我也想用函数的方式来处理,但是不知道如何实现。。具体结构该怎么弄。。。 if output1 in condition: data['%s_x1x2'%i] = data.apply(tran_x1x2,axis=1) #生成实时数据的x1x2 if output2 in condition: f_data['%s_x1x2'%i] = f_data.apply(tran_x1x2,axis=1) #生成综合数据的x1x2 #注意顺序,需先计算x1x2的值,才能计算x3的值 def tran_x3(x): dj = x['%s_x1'%i] dj_x1x2 = x['%s_x1x2'%i] dj_x2 = (dj_x1x2 - dj) *10 #计算x2的值。不建议单独生成x2字段,否则字段过多,影响调试查看。 if dj == 0: #等级数据不可能为0,其值原为空值,只是为了便于比较,将空值填充为0处理(第7/9行代码中实现)。 return np.NaN else: if dj %i].astype(float) t06 = time.time() print(t06-t05) ``` 这段代码,我用10W行的数据来跑,用了24秒左右。。 我发现其中比较耗时的就是要输出output1的计算。。。这个就是计算每行数据的结果,计算量可能较大。 个人觉得代码还有较大的提升空间,只是水平有限,实在不知道如何优化。。 求高手指点
Python 多个for循环怎么提高运行速度
list_M是一个16个矩32维阵的字典,在做以下<em>循环</em>时,运行太<em>慢</em>,出不了结果,怎么才能加快运行<em>速度</em>? for R1 in range(0, 16): for R2 in range(0, 16): for R3 in range(0, 16): for R4 in range(0, 16): for R5 in range(0, 16): for R6 in range(0, 16): for R7 in range(0, 16): for R8 in range(0, 16): M0 = np.bmat("O,I;I,O") M1 = np.mat(list_M[R1]) M2 = np.mat(list_M[R2]) M3 = np.mat(list_M[R3]) M4 = np.mat(list_M[R4]) M5 = np.mat(list_M[R5]) M6 = np.mat(list_M[R6]) M7 = np.mat(list_M[R7]) M8 = np.mat(list_M[R8]) new_M = np.mod(M0*M8*M7*M6*M5*M4*M3*M2*M1, 2) ``` ``` ``` ```
Python3 分支、for循环
三大结构顺序分支<em>循环</em>分支分支的基本语法        if 条件表达式:            语句1            语句2            语句3            ……   2.条件表达式就是计算结果必须为布尔值得表达式   3.表达式后面的冒号不能少   4.注意if后面出现的语句,如果属于if语句块,则必须同一个缩进等级    5.条件表达式结果为True<em>执行</em>if后面的缩...
Python:for循环之应用-Routine4
For<em>循环</em>的结构:首先是一个for,然后是一个可以用于存放各个元素的变量,经常用i,j,k表示计数器变量,接下来是in,然后是要遍历的序列,然后是一个冒号,最后是另起一行加Tab制表符的<em>循环</em>体。for<em>循环</em>会按顺序为序列中的每个元素<em>执行</em>一次<em>循环</em>体,当到达序列的末尾时,<em>循环</em>就结束了。用于存放元素的计数器变量如果在<em>循环</em>之前还不存在的话,也是会被直接创建的,并且计数器变量在<em>循环</em>体中也不一定会被使用到。举例...
给大家分享一篇 简单两步,大幅提高python数据处理速度
在数据分析领域,最热门的莫过于Python和R语言。其中,数据分析库pandas是Python最经典的库之一。它使用一个二维的DataFrame来表示表格式的数据,相比较于Numpy,Pandas可以存储混合的数据结构,同时使用NaN来表示缺失的数据,而不用像Numpy一样要手工处理缺失的数据,并且Pandas使用轴标签来表示行和列。 一般来说,用pandas处理小于100兆的数据,性能不是问题...
提高Python运行效率的六个窍门
转自:http://bbs.chinaunix.net/thread-4177456-1-1.html Python是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作。不仅如此,它还轻松支持多任务处理,比如多进程。 不喜欢Python的人经常会吐嘈Python运行太<em>慢</em>。但是,事实并非如此。尝试以下六个窍门,来为你的Python应用提速。 窍门一:关键代码使用外部功能包
python循环之for循环
python还有个<em>循环</em>是for<em>循环</em>。 for<em>循环</em>一般用于遍历元组、集合、列表这种数据类型里面的所有元素。(字典只会遍历索引) #简单的for<em>循环</em>结构(不同于while<em>循环</em>容易变成无限<em>循环</em>,for<em>循环</em>遍历完或中止便会结束运行)# a = ('ppap','hello,world','phone') for b in a: print (b) #如果for<em>循环</em>的数据同时有不同的数据类型...
Python-循环代码的优化
<em>循环</em>代码的优化 一、 遵循三大原则,提高运行效率 尽量减少<em>循环</em>内部不必要的计算 嵌套<em>循环</em>中,尽量减少内存<em>循环</em>的计算,尽可能向外提 尽量使用局部变量(查询快) 二、其它优化手段 1. 连接多个字符串,使用join而不使用+ 2. 列表进行元素插入和删除,尽量在列表尾部操作 #<em>循环</em>代码优化测试import time start = time.time()fo...
python可以提高程序执行速度N倍你知道吗?
1.1。Numba的约5分钟指南 Numba是Python的即时编译器,它最适用于使用NumPy数组和函数以及<em>循环</em>的代码。使用Numba的最常用方法是通过其装饰器集合,可以应用于您的函数来指示Numba编译它们。当调用Numba修饰函数时,它被编译为机器代码“及时”<em>执行</em>,并且您的全部或部分代码随后可以以本机机器代码<em>速度</em>运行! 开箱即用的Numba使用以下方法: 操作系统:Windows(...
python突然运行很
python初学者。 刚开始写python小程序,运行<em>速度</em>还可以,两三秒大概出结果。最近两天不知道什么原因,突然运行变得很<em>慢</em>,还是原来的那个小程序,要四五分钟才会出结果,这四五分钟一直是空白状态。如果
从后台看python--为什么说python是
python<em>越来越</em>作为一种科学技术研究的语言<em>越来越</em>流行,可是我们经常听到一个问题,python是<em>慢</em>的。那么我们从后台分析一下,为什么python是<em>慢</em>的。 python是一种动态类型,解释型语言,它的值都是存储在分散的对象中,而不是紧密的缓存之中。1.python是动态类型语言这意味着编译器在程序<em>执行</em>之前并不知道变量定义的类型。C定义变量和Python定义变量的方式的区别: 对于C,编译器通过定义
为啥Python运行速度这么
作者:Anthony Shaw 是 Python 软件基金会成员和 Apache 基金会成员。 近来 Python 可谓人气骤升。这门编程语言用于开发运维(DevOps)、数据科学、网站开发和安全。 然而,它没有因<em>速度</em>而赢得任何奖牌。 Java 在<em>速度</em>方面与C、C++、C#或 Python 相比如何?答案很大程度上取决于你运行的应用程序的类型。没有哪个基准测试程序尽善尽美,不过 The ...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
【JSON解析】浅谈JSONObject的使用
简介 在程序开发过程中,在参数传递,函数返回值等方面,<em>越来越</em>多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构: “名称/值”对的集合(A Collection of name/va...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载<em>速度</em>让我...
只因接了一个电话,程序员被骗 30 万!
今天想给大家说一个刚刚发生在我身边的一起真实的诈骗经历,我的朋友因此被骗走30万。注:为了保护当事人隐私,部分情节进行了修改。1平安夜突来的电话开始以为就像普通的诈骗一样,想办法让你把钱...
我一个37岁的程序员朋友
周末了,人一旦没有点事情干,心里就瞎想,而且跟几个老男人坐在一起,更容易瞎想,我自己现在也是 30 岁了,也是无时无刻在担心自己的职业生涯,担心丢掉工作没有收入,担心身体机能下降,担心突...
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me for a ...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
txt语音阅读器下载
txt语音阅读器以后就告别了看小说的时代,进入听小说时代了。 相关下载链接:[url=//download.csdn.net/download/u010831197/5448071?utm_source=bbsseo]//download.csdn.net/download/u010831197/5448071?utm_source=bbsseo[/url]
计算机结构课后答案下载
计算机组织与结构 第七版 william stalling 课后答案 相关下载链接:[url=//download.csdn.net/download/u010087937/6556201?utm_source=bbsseo]//download.csdn.net/download/u010087937/6556201?utm_source=bbsseo[/url]
STM32固件库使用手册的中文翻译版(详细的翻译)下载
STM32固件库使用手册的中文翻译版, 对于固件的应用很有用. 相关下载链接:[url=//download.csdn.net/download/wuse_2010/3006967?utm_source=bbsseo]//download.csdn.net/download/wuse_2010/3006967?utm_source=bbsseo[/url]
我们是很有底线的