思知群里面的一个问题

NK(659324338) 2019/8/1 10:44:51
有大神对numpy库熟悉的没
请教一个问题
NK(659324338) 2019/8/1 10:45:46

这种程序是否可以转化为矩阵运算而不使用双重for循环
NK(659324338) 2019/8/1 10:48:05

像这种程序效率太低了
彭震宇-CPDI(1679468600) 2019/8/1 10:55:03
没事 你用numba
可以自动优化循环过程
快得起飞
暨大-入门(1242441055) 2019/8/1 10:56:52
先把content 里面的组合(i,j)生成
死鬼-深圳<diator@qq.com> 2019/8/1 11:07:23
@彭震宇-CPDI numba真的是个神器啊
彭震宇-CPDI(1679468600) 2019/8/1 11:14:49
而且非常方便加个装饰器就能加速特别多
彭震宇-CPDI(1679468600) 2019/8/1 11:15:14
只要程序里循环和数值运算特别多的话

欧皇阿枫(67106362) 2019/8/1 11:18:35
这话问的
天知道啊
我就没下载过python
而且这和你网速相关
彭震宇-CPDI(1679468600) 2019/8/1 11:19:37
我都是直接下anaconda  用它自带的那个python
人工智能网www.aiaor.com<liuvean@qq.com> 2019/8/1 14:48:27

hustxun-华中科技大学(252472925) 2019/8/1 16:59:51
@NK 不知道加速会怎么样,到你这个程序实在是太低效,太多无用运算
NK(659324338) 2019/8/1 17:01:21
这个需要更深层次优化,即便采用numba,好像速度提升不明显
NK(659324338) 2019/8/1 17:02:10
@hustxun-华中科技大学 
不过numba也是一种思路
从语言层面优化程序
但是如果程序写的太烂,语言层面优化还是有限的
NK(659324338) 2019/8/1 17:04:43
https://stackoverflow.com/questions/20574257/constructing-a-co-occurrence-matrix-in-python-pandas#comment30776786_20574460
Stack Overflow上有人给出了好的方案,就是我想要的
全部转换为矩阵操作
hustxun-华中科技大学(252472925) 2019/8/1 17:05:16
反向思路啊,转换为“填表”过程就可以了,准备一个N*N的空表,依次对content中每个line的每个每个元素,通过字典查找它第i行j列,加一就行吧
NK(659324338) 2019/8/1 17:08:34
你说的我也试过,上面那种有提升,但还不是最优
NK(659324338) 2019/8/1 17:10:22

@hustxun-华中科技大学 最优的应该是Stack Overflow上面的回答
目前我看到的最优的是Stack Overflow上的回复
hustxun-华中科技大学(252472925) 2019/8/1 17:14:38
没细看,还没看懂最后一个dot的功能,但是有个K[i,j]+=1,应该是可以的,这个就是填表操作
NK(659324338) 2019/8/1 17:16:14
上面的如果改为Python列表解析式不知道效率如何?
hustxun-华中科技大学(252472925) 2019/8/1 17:17:46
不用太在意这个吧,关键是算法不能太抵消,尽量避免重复操作,太低层的操作优化都得转换为c语言
NK(659324338) 2019/8/1 17:19:13
作为coder,我们应该要有一种朝着完美进军的目标呀
hustxun-华中科技大学(252472925) 2019/8/1 17:20:04

转载于:https://www.cnblogs.com/www-caiyin-com/p/11286807.html

多重for循环如何提速相关推荐

  1. R语言:多重for循环的加速问题

    博客来源于我的语雀专栏:R 语言 · 语雀 更多内容同步更新请关注我的语雀:令平子 · 语雀 R多重for循环的加速问题? - COS论坛 | 统计之都 | 统计与数据科学论坛 使用多核并行运行:如何 ...

  2. 多重for循环优化,提升运行效率

    在循环次数较少的时候一般不会发现for循环的写法会对效率产生多大问题,但一旦循环次数较多,比如说上万,循环层数较多,效率问题就非常明显了,我是在做一个数据量非常大有三层for循环的项目的时候,为显示曲 ...

  3. 多重 for 循环优化,提升运行效率

    在循环次数较少的时候一般不会发现 for 循环的写法会对效率产生多大问题,但一旦循环次数较多,比如说上万,循环层数较多,效率问题就非常明显了,我是在做一个数据量非常大有三层 for 循环的项目的时候, ...

  4. Java使用多重for循环打印实心三角形,倒立三角形以及空心菱形

    Java使用多重for循环打印实心三角形,倒立三角形以及空心菱形 使用双重for循环打印倒立三角形和菱形算是在循环嵌套里面,自我感觉比较难的第一个程序 这是本次要打印的目标: 打印上图实心三角形思路如 ...

  5. 多重 for 循环,如何提高效率?

    2258 字 14 图 : 文章字数 6 分钟 : 预计阅读 网络 : 内容来源 BabyCoder : 编辑整理 前言   我在<华为 C 语言编程规范>中看到了这个:当使用多重循环时, ...

  6. JavaScript避免使用return跳出多重循环从而继续执行函数;使用break跳出多重for循环

    一.先来看一下使用break仅跳出一层for循环的用法 const foo = function () {for (let i = 1; i <= 3; i++) {for (let j = 1 ...

  7. vue动态请求到的多重数组循环遍历,取值问题,如果某个值存在则显示,不存在则不显示。...

    数据结构: 需求:我在vue页面需要拿到url值并显示图片 代码写法: 注意:一定要判断否则拿到的large对象一直是空值, 那么img.large.url将会取不到值,会报 url  'undefi ...

  8. Java中如何跳出多重for循环

    转载于:https://www.cnblogs.com/gf36500/p/6945059.html

  9. JS利用for多重循环制作9*9乘法表

    在JavaScript中,多重for循环作为比较复杂的循环程序,新手刚接触时总是有些难以理解,今天,我们对for循环做一个简单的分析介绍. 要想理解多重for循环,首先我们需要对单个for循环有基本的 ...

最新文章

  1. java实现多个接口_java允许实现多个接口
  2. OpenGL SDK glew(OpenGL Extension Wrangler Library )
  3. python获取已打开网页的html,【已解决】Python的BeautifulSoup去实现提取带tag的HTML网页主体内容...
  4. mysql删除赋权_mysql 添加用户 删除用户 赋权
  5. 【飞秋教程】查找/备份/还原
  6. linux的QQ邮件告警,QQ邮箱告警注意点
  7. Java EE 架构设计——基于okhttp3 的网络框架设计
  8. JS 正则(RegExp)
  9. 北大先修课 计算机,解读:北大清华大学先修课的那些事
  10. keynote代码高亮【转】
  11. Cocos2d-x 3.0修改Android平台帧率fps - 解决游戏运行手机发热发烫问题
  12. java加水印 盖章_如何通过Java加水印的方式实现一键添加校徽外圈
  13. 二叉树的结构特点及性质
  14. 无法接收到github邮箱验证码的解决方法
  15. uniapp里面怎么打开第三方应用
  16. LeetCode矩阵题——用辐射来理解
  17. OVQQ框架-一个免费的QQ机器人框架
  18. JavaScript 炫酷第一步 抓取别人网站数据
  19. TSO、GSO介绍与实现
  20. pdf拆分-PyPDF2

热门文章

  1. 王家林 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程...
  2. HttpModule
  3. extjs的上传组件和HTML编辑器组件
  4. Linux设置Oracle开机自启动
  5. bagging and boosting
  6. CF617E. XOR and Favorite Number
  7. 我爱我家:我为什么选择AppCan?
  8. java 把URL中的中文转换成utf-8编码
  9. 盛大EverBox网盘
  10. TypeScript--泛型