前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

Python运行的慢是历来被诟病的,一方面和语言有关,另一方面可能就是你代码的问题。语言方面的问题我们解决不了,所以只能在编程技巧上来提高程序的运行效率。下面就给大家分享几个提高运行效率的编程方法。

首先,我们需要来衡量代码的时间和空间的复杂性,不然仅仅用我们的肉眼很难感受代码时间长短的变化。python中的profiler可以帮助我们测量程序的时间和空间复杂度。 使用时通过-o参数传入可选输出文件以保留性能日志。具体使用方法如下:

python -m cProfile [-o output_file] my_python_file.py

01 使用哈希表的数据结构

如果在程序中遇到大量搜索操作时,并且数据中没有重复项,则可以使用查找而不是循环。举例如下:

可以改写为

02 矢量化取代循环

尽量使用基于C构建的Python库,例如Numpy,Scipy和Pandas,并且利用矢量化同时处理来取代程序中编写多次处理数组单个元素的循环,循环可能是程序优化最容易被拿来开刀的地方了。举例如下:在对数组中每个元素求平方时直接用数组相乘,而不是两个for循环。

03 精简代码行数

在编程时,尽量使用一些python的内置函数来精简代码行数,是代码显得简洁凝练,大大提高代码运行效率。举例如下:

可以改写为

04 使用多进程

一般计算机都是多进程的,那么在执行操作时可以使用Python中的multiproccessing。多进程可在代码中实现并行化。 当您要实例化新进程,访问共享内存时,多进程成本很高,因此如果有大量数据处理时可以考虑使用多进程。 对于少量数据,则不提倡使用多进程。举例如下:

可以改写为

05 使用Cpython

Cython是一个静态编译器,可以为您优化代码。加载cypthonmagic扩展并使用cython标记使用cython编译代码。

Cpython的安装:

pip install Cython

Cpython的使用:

06 尽量使用csv替代xlsx

在进行数据处理时, 我需要更长的时间才能将数据加载到excel文件或从excel文件保存数据。 相反,我选择了创建多个csv文件的路径,并创建了一个文件夹来对文件进行分组。举例如下:

可以改写为

07 使用Numba

它是一个JIT(即时)编译器。 通过装饰器,Numba将带注释的Python和NumPy代码编译为LLVM 。将您的功能分为两部分:

1.执行计算的函数 - 使用@autojit进行装饰

2.执行IO的功能

08 使用Dask来并行化Pandas DataFrame

Dask很棒! 它帮助我处理数据框中的数值函数和并行的numpy。 我甚至试图在集群上扩展它,它就是这么简单!

09 使用Pandarallel库

Pandarallel可以将pandas操作与多个进程并行化同样,仅在您拥有大型数据集时使用。

总结

对于提高Python的性能,第一是先编写简洁,高效的代码。 我们必须确保代码不会在循环中反复执行相同的计算。第二不要为集合中的每个记录打开/关闭IO连接。第三要确保在不需要时不创建新的对象实例。通过大量的编程练习,掌握一些高级的编程方法对你十分重要。

几个方法帮你加快Python运行速度相关推荐

  1. 还是不够快?几个方法帮你加快Python运行速度

    WELL ~ ~ ~WELL ~ ~ ~WELL ~ ~ ~ Python运行的慢是历来被诟病的, 一方面和语言有关, 另一方面可能就是你代码的问题. 语言方面的问题我们解决不了, 所以只能在编程技巧 ...

  2. 计算机运行速度慢怎样解决方法,电脑运行速度慢的解决方法:瞬间加快电脑运行速度妙招...

    电脑运行速度慢的解决方法一.每天电脑关机前清洗磁盘垃圾 1.双击"我的电脑(计算机)": 2.右键点C盘: 3.点"属性": 4.点"磁盘清理&quo ...

  3. Python可以调用Gpu吗_加快Python算法的四个方法:Numba篇

    CDA数据分析师 出品 相信大家在做一些算法经常会被庞大的数据量所造成的超多计算量需要的时间而折磨的痛苦不已,接下来我们围绕四个方法来帮助大家加快一下Python的计算时间,减少大家在算法上的等待时间 ...

  4. 3个提升Python运行速度的方法,很实用

    今天总结3个提升Python运行速度的方法,只从代码本身考虑,提升运行速度并不会从编写C 扩展的代码.基于JIT的编译器技术考虑. 关于代码执行效率的第一个方法是减少频繁的方法访问,尤其是在多层循环内 ...

  5. 为什么python这么慢_为啥 Python 运行速度这么慢 ?

    原标题:为啥 Python 运行速度这么慢 ? 作者:Anthony Shaw 是 Python 软件基金会成员和 Apache 基金会成员. 近来Python可谓人气骤升.这门编程语言用于开发运维( ...

  6. 使用 ctypes 将 Python 运行速度提升 30 倍

    简介 当 Python 面临运算密集型任务时,其速度总是显得力不从心.要提升 Python 代码运行速度有多种方法,如 ctypes.cython.CFFI 等,本篇文章主要从 ctypes 方面介绍 ...

  7. 进行优化处理(WinXP),加快系统运行速度

    可以按以下方法进行优化处理(WinXP),加快系统运行速度: 1.用杀毒软件查杀病毒,确保系统没有病毒. 2.运行磁盘碎片整理程序整理磁盘,消除磁盘碎片. 3.清除启动项:开始→运行→msconfig ...

  8. 计算机软件升级流程,7个方法帮你轻松升级Windows 10计算机!

    [51CTO.com快译] 人们有时想知道阿波罗11号中的制导计算机(内存容量比今天使用的最便宜的Windows 10 PC还少)是怎么登上月球的.答案:它没有将任何处理能力浪费在花哨的界面或多任务上 ...

  9. Python运行速度慢?是你孤陋寡闻了?5个优化方案提速百分百

    前言 Python运行速度慢?是你孤陋寡闻了?5个优化方案提速百分百 (文末送读者福利) 速度慢 Python之所以速度慢,主要是由于动态性和多功能性. Python 的运行过程是虚拟机读入 Pyth ...

最新文章

  1. find name 模糊匹配_MYSQL关于find_in_set()函数的使用详解和like的区别之处
  2. 利用返回引用来操作结构体
  3. 十一周二次课(6月1日)
  4. SAP UI5 mock服务器错误排查
  5. php 浮点数转字符串,php浮点数和字符串
  6. android多点触控自由对图片缩放
  7. C——用冒泡排序法、选择排序法对随机输入的10个整数从小到大排序
  8. vue中既可以选择又可以手动输入的文本框类型_在PPT中制作一个胖乎乎的可爱圆环图...
  9. 【云栖大会】阿里妈妈:数字营销“智”变
  10. replace()替换文字扑获组做法
  11. 【转】PP模块快速入门之功能简介
  12. ojdbc maven
  13. leaflet 加载百度离线瓦片
  14. GEE拼接字符串出错,原因是忘了加getInfo()
  15. 腾讯微信客服电话怎么直接人工服务呢
  16. Android Studio中通过SQLiteDatabase类操作数据库
  17. 项目中的风险有哪些?测试人员或者管理者如何控制风险?
  18. Btree/B+tree原理及区别(详解)
  19. 2020-09-18 python中copy()和deepcopy()详解
  20. 如何截取视频片段 批量截取片段的方法 1

热门文章

  1. 购物中心如何走出营销困境?
  2. MD5加密不满足公安部安全等级要求
  3. mysql b tree_Mysql索引机制(B+Tree)
  4. mybatis日志==> Preparing在哪里打印的
  5. Vue中的 h 函数
  6. 学校计算机老师关心学生的作文600字,老师关心我们中学生作文
  7. QQ登录第三方接口研究(2)-接入规范
  8. 如何在word中批量修改图片大小
  9. 财神:很多人混不好 其实是自己活该
  10. 解决C语言函数调用warning: implicit declaration of function ‘‘