分享

24招加速你的Python,超级实用!

 西北望msm66g9f 2020-06-17
你的技术大学

前期从以下九个方面讨论了加速Python的具体方法,一共24个,每个都带有优化前后的对比,非常实用。

  1. 分析代码运行时间

  2. 加速查找

  3. 加速循环

  4. 加速函数

  5. 实用标准库加速

  6. Numpy向量化加速

  7. 加速Pandas

  8. Dask加速

  9. 多线程多进程加速

我在此基础上主要美化了编辑,方便读者更容易阅读学习。


一 、分析代码运行时间


1 测算代码单次运行时间

平凡法:

快捷法(Jupyter):

2 测算代码重复执行多次平均用时

平凡法:

快捷法(Jupyter):


3 按调用函数分析代码运行时间

平凡法:

快捷法(Jupyter):

4 按行分析代码运行时间


平凡法:

快捷法(Jupyter):


二、加速你的查找


5 用set而非list进行in查找

低速法:

高速法:

6 用dict而非两个list进行匹配查找

低速法:

高速法:


三、加速你的循环


7 优先使用for循环而不是while循环

低速法:

高速法:

8 循环体中避免重复运算

低速法:

高速法:


四、加速你的函数

9、用缓存机制加速递归函数

低速法:

高速法:

10、用循环取代递归

低速法:

高速法:

11、 使用Numba加速Python函数

低速法:

高速法:


五、使用标准库函数进行加速


12、使用collections.Counter类加速计数

低速法:

高速法:

13、使用collections.ChainMap加速字典合并

低速法:

高速法:


六、使用numpy向量化进行加速


14、使用np.array代替list

低速法:

高速法:

15、使用np.ufunc代替math.func

低速法:

高速法:

16、使用np.where代替if

低速法:

高速法:


七、加速你的Pandas


低速法:

高速法:

18、避免动态改变DataFrame的行数

低速法:

高速法:

19、使用csv文件读写代替xlsx文件读写

低速法:

高速法:

20、使用pandas多进程工具pandarallel

低速法:

高速法:


八、使用Dask进行加速


21、使用dask加速dataframe

低速法:

高速法:

22、使用dask.delayed应用多进程加速

低速法:

高速法:


九、应用多线程多进程加速


23、使用多线程提升IO密集任务效率

低速法:

高速法:

24、使用多进程提升CPU密集任务效率

低速法:

高速法:

获取106页电子书

历史阅读:

Python 开发者必知的 11 个 Python GUI 库

基于TensorFlow 2.0的中文深度学习开源书来了!GitHub趋势日榜第一,斩获2K+星

Python 爬取 3000 部电影,最具人气烂片排行榜出炉!

利用 Python 优雅地将 PDF 转换成图片
微软官方上线了Python 教程,7个章节就把Python说通了
10款 Web开发最佳的 Python 框架

   Python 从入门到精通:一个月就够了!

Python 最强 IDE 详细使用指南!

最靠谱的Pycharm 汉化安装+ 破解详细教程!

Python 开发植物大战僵尸游戏

一款 Python 自动抢票神器,收藏起来回家不愁!

一键分析你上网行为,看你是在认真工作还是摸鱼

我给曾经暗恋的初中女同学,用Python实现了她飞机上刷抖音

被女朋友三番五次拉黑后,我用 Python 写了个“癞皮狗”必备神器

谁偷偷删了你的微信?别慌!Python 揪出来

最全 14 张思维导图:教你构建 Python 编程的核心知识体系!

扫下方码加我微信回复:Python手册,可获取一份学习Python路线的教程

人生苦短,我选在看

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多