没有合适的资源?快使用搜索试试~ 我知道了~
python for循环优化
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
10 下载量 37 浏览量
2020-12-22
13:22:55
上传
评论 1
收藏 47KB PDF 举报
温馨提示
试读
1页
一、疑难杂症 最近工作中遇到一个难题,优化一个项目的计算时间。最初,建立项目时用户少,中间使用了for循环,还是嵌套的,共两层,项目整体运行一次耗时1-2个小时。最近,随着用户量增长,项目耗时达到6-7个小时。显然是不能接受的。 for t, w in user_tags: for it, w in tag_items[t]: ...some计算... 上面的计算,外层x内层的次数大于60万。于是,时间就长了。 二、原因分析 原因很简单就是用户量大,for循环次数极大。当然,机器的性能可能也不高(ps:扩容机器要花钱的)。仔细看这一段代码没
资源详情
资源评论
资源推荐
python for循环优化循环优化
一、疑难杂症一、疑难杂症
最近工作中遇到一个难题,优化一个项目的计算时间。最初,建立项目时用户少,中间使用了for循环,还是嵌套的,共
两层,项目整体运行一次耗时1-2个小时。最近,随着用户量增长,项目耗时达到6-7个小时。显然是不能接受的。
for t, w in user_tags:
for it, w in tag_items[t]:
...some计算...
上面的计算,外层x内层的次数大于60万。于是,时间就长了。
二、原因分析二、原因分析
原因很简单就是用户量大,for循环次数极大。当然,机器的性能可能也不高(ps:扩容机器要花钱的)。仔细看这一段代
码没问题,逻辑正确,计算简单。于是,冥思苦想,反复尝试。发现,这里没有使用任何python的数据结构。python作为nb
的科学计算语言,没有发挥其长处。pandas、numpy、scipy等,没有用上。
三、解决思路三、解决思路
在梳理了for循环中的计算逻辑后,发现可以和pandas Dataframe的一些方法对应上。于是,就一顿利用pandas的
groupby、apply、sort_values等操作,测试。最后,总的运行时间是2个小时左右,优化了到了30%的运行时间。
其实,上面这个例子具有一定的个案性。但是,我想表达的意思是善用、巧用数据结构的力量。尤其是在现在大数据环境
下,数据只会越来越多。比如,我的例子还可以进行numpy的矩阵乘法优化,估计会更节省时间。
作者:pypy哥
weixin_38526650
- 粉丝: 1
- 资源: 885
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0