加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

优化Python代码的4种要领

发布时间:2019-10-10 11:58:43 所属栏目:建站 来源:人工智能遇见磐创
导读:先容 我是一个措施员。从大学期间开始我就一向在举办编程,而我如故对行使简朴的Python代码所开发的阶梯之多感想惊奇。 可是我并不老是那么高效。我信托这是大大都措施员(尤其是刚起步的措施员)共有的一个特性,编写代码的快感始终优先于服从和简捷性。虽

我们将随机建设一百万个值,并求出每个值的除数。我们将行使apply函数和多历程要领较量其机能:

  1. # 导入库 
  2. import pandas as pd 
  3. import math 
  4. import multiprocessing as mp 
  5. from random import randint 
  6. # 计较除数的函数 
  7. def countDivisors(n) :  
  8.  count = 0 
  9.  for i in range(1, (int)(math.sqrt(n)) + 1) :  
  10.  if (n % i == 0) :  
    1. %%time 
    2. pool = mp.Pool(processes = (mp.cpu_count() - 1)) 
    3. answer = pool.map(countDivisors,random_data) 
    4. pool.close() 
    5. pool.join() 
  11.  if (n / i == i) :  
  12.  count = count + 1 
  13.  else :  
  14.  count = count + 2 
  15.  return count  
  16. # 建设随机数  
  17. random_data = [randint(10,1000) for i in range(1,1000001)] 
  18. data = pd.DataFrame({'Number' : random_data }) 
  19. data.shape 
优化Python代码的4种要领
  1. %%time 
  2. data['Number_of_divisor'] = data.Number.apply(countDivisors) 
优化Python代码的4种要领
  1. %%time 
  2. pool = mp.Pool(processes = (mp.cpu_count() - 1)) 
  3. answer = pool.map(countDivisors,random_data) 
  4. pool.close() 
  5. pool.join() 
优化Python代码的4种要领

在这里,多历程比apply要领快13倍。机能也许会因差异的硬件体系而异,但必定会进步机能。

竣事

这毫不是细致的列表。尚有很多其他要领和技能可以优化Python代码。可是我在数据科门生活中发明并行使了许多这四个,信托你也会发明它们也很有效。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读