0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Python 加速的24个好方法分享

454398 来源:机器学习算法与Python学习 作者:机器学习算法与 2020-11-11 15:46 次阅读

一,分析代码运行时间

第1式,测算代码运行时间

平凡方法

快捷方法(jupyter环境)

第2式,测算代码多次运行平均时间

平凡方法

快捷方法(jupyter环境)

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

平凡方法

快捷方法(jupyter环境)

第4式,按行分析代码运行时间

平凡方法


快捷方法(jupyter环境)

二,加速你的查找

第5式,用set而非list进行查找

低速方法

高速方法

第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

第17式,使用np.ufunc函数代替applymap

低速方法

高速方法

第18式,使用预分配存储代替动态扩容

低速方法

高速方法

第19式,使用csv文件读写代替excel文件读写

低速方法

高速方法

第20式,使用pandas多进程工具pandarallel

低速方法

高速方法

八,使用Dask进行加速

第21式,使用dask加速dataframe

低速方法

高速方法

第22式,使用dask.delayed进行加速

低速方法

高速方法

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

第23式,应用多线程加速IO密集型任务

低速方法

高速方法

第24式,应用多进程加速CPU密集型任务

低速方法

高速方法

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4678

    浏览量

    83476
收藏 人收藏

    评论

    相关推荐

    加速Python for循环的12种方法

    Python内建的一个常用功能是timeit模块。下面几节中我们将使用它来度量循环的当前性能和改进后的性能。
    的头像 发表于 01-04 17:33 1594次阅读
    <b class='flag-5'>加速</b><b class='flag-5'>Python</b> for循环的12种<b class='flag-5'>方法</b>

    查看python安装路径的方法

    如何查看Python安装路径,以及各个操作系统下的细节和注意事项。 一、Windows操作系统下查看Python安装路径的方法 对于Windows操作系统,有多种方法可以查看
    的头像 发表于 11-29 14:54 1030次阅读

    运行Python程序的几种常见方法

    Python是一种高级编程语言,具有简单易学,易于阅读和调试的特点。当你完成了一个Python程序之后,你需要运行它以检查程序是否按照预期工作。下面是运行Python程序的几种常见方法
    的头像 发表于 11-28 15:32 472次阅读

    python调用math函数的方法

    中。本文将详细介绍math模块中的各种数学函数的调用方法,包括函数的功能、参数的使用和返回值的含义等方面,以帮助读者更好地理解和应用这些函数。 一、导入math模块 要使用math模块中的函数,首先需要将其导入到Python程序中。可以使用import语句将
    的头像 发表于 11-22 11:01 1273次阅读

    python处理重复值的方法

    处理重复值是数据处理中常见的任务之一。在Python中,有几种有效的方法可以处理重复值,包括使用集合、字典和pandas库等。 使用集合 集合数据结构是Python中用于存储唯一元素的一种
    的头像 发表于 11-21 15:47 573次阅读

    python的insert方法

    insert()方法Python中的列表对象提供的一个方法,用于在指定位置插入一个元素。该方法的语法如下: list. insert ( index , obj) 其中,index表
    的头像 发表于 11-21 14:27 638次阅读

    Python中普通方法、静态方法、类方法的区别

    ,由于 Python 语言的灵活性,这部分内容在日常编码过程中,很容易被忽略掉 本篇文章将和大家一起聊聊这几个小知识点 2.@staticmethod 装饰器 @staticmethod 修饰的方法称为
    的头像 发表于 11-02 11:03 249次阅读

    PyJNIus :让你在Python中轻松调用Java方法

    PyJNIus 是一个神奇的 Python 第三方模块。它能使用Java本地接口将Java类作为Python类访问的Python模块。 如果你需要在Python中使用Java 类,这个
    的头像 发表于 11-01 10:45 404次阅读

    PyJNIus:在Python中轻松调用Java方法

    PyJNIus 是一个神奇的 Python 第三方模块。它能使用Java本地接口将Java类作为Python类访问的Python模块。 如果你需要在Python中使用Java 类,这个
    的头像 发表于 10-30 11:32 286次阅读

    K210的Micro-Python移植,有已经移植的开源下载吗?

    K210的Micro-Python移植,有已经移植的开源下载吗?谢谢。
    发表于 09-14 07:26

    24v开关电源7线接线方法

    24v开关电源7线接线方法  24v开关电源是一种常见的电源类型,广泛应用于LED灯、电子设备、通讯设备等领域。在使用24v开关电源时,正确的接线
    的头像 发表于 08-18 14:35 6199次阅读

    全球网络加速的五个方法

    全球网络加速的五个方法
    的头像 发表于 07-20 14:12 896次阅读

    动态库封装成python模块的方法

    之前的文章 将静态库封装成 python 模块中讲解了如何将静态库封装成 python 模块,静态库封装相对来说还是有点复杂,今天来介绍下动态库封装成 python 模块的方法
    发表于 07-13 15:24 383次阅读

    关于Python 加速工具的选单

      这篇文章会提供一些 优化代码的工具 。会让代码变得更简洁,或者更迅速。 当然这些并不能代替算法设计,但是还是能让 Python 加速很多倍。 这篇文章主要讲 优化单处理器的代码 ,下面会介绍一些
    的头像 发表于 07-07 11:19 231次阅读

    Python中检查字符串包含的方法

    Python 有多种处理字符串的方法。今天我们介绍如何检查一个字符串中是否包含另一个字符串。
    的头像 发表于 05-14 16:02 1.4w次阅读