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
    +关注

    关注

    56

    文章

    4792

    浏览量

    84617
收藏 人收藏

    评论

    相关推荐

    Python中dict支持多个key的方法

    不直接支持使用多个键进行索引,但我们可以通过一些技巧来实现这一功能。 下面,我将展示几种处理包含多个键的字典的方法,并提供详细的代码示例。 1.方法一:使用元组作为键 我们可以将多个键组合成一元组,并使用这个元组作为字典的键。
    的头像 发表于 11-29 15:59 144次阅读

    使用Python进行图像处理

    下面是一关于使用Python在几行代码中分析城市轮廓线的快速教程。
    的头像 发表于 11-07 10:14 202次阅读
    使用<b class='flag-5'>Python</b>进行图像处理

    pytorch和python的关系是什么

    ,PyTorch已经成为了一非常受欢迎的框架。本文将介绍PyTorch和Python之间的关系,以及它们在深度学习领域的应用。 Python简介 Python是一种高级、解释型、通用
    的头像 发表于 08-01 15:27 1863次阅读

    如何实现Python复制文件操作

    Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊方法。下面我们开始学习这九种不同的
    的头像 发表于 07-18 14:53 411次阅读

    opencv-python和opencv一样吗

    不一样。OpenCV(Open Source Computer Vision Library)是一开源的计算机视觉和机器学习软件库,它提供了大量的图像和视频处理功能。OpenCV-Python
    的头像 发表于 07-16 10:38 1138次阅读

    基于Python的深度学习人脸识别方法

    基于Python的深度学习人脸识别方法是一涉及多个技术领域的复杂话题,包括计算机视觉、深度学习、以及图像处理等。在这里,我将概述一基本的流程,包括数据准备、模型选择、训练过程、以及
    的头像 发表于 07-14 11:52 1249次阅读

    python训练出的模型怎么调用

    Python中,训练出的模型可以通过多种方式进行调用。 1. 模型保存与加载 在Python中,训练好的模型需要被保存,以便在其他程序或会话中使用。以下是一些常用的模型保存和加载方法。 1.1
    的头像 发表于 07-11 10:15 1841次阅读

    用pycharm进行python爬虫的步骤

    以下是使用PyCharm进行Python爬虫的步骤: 安装PyCharm和Python 首先,您需要安装PyCharm和Python。PyCharm是一流行的
    的头像 发表于 07-11 10:11 815次阅读

    Python自动化测试框架及其应用

    Pytest是一非常成熟的全功能的Python测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,功能更强大。
    的头像 发表于 04-03 16:15 546次阅读
    <b class='flag-5'>Python</b>自动化测试框架及其应用

    Raspberry Pi树莓派使用Python实现MQTT通信设计

    这次的例子,主要讲述如何基于PYTHON的 MQTT 客户端的使用方法
    的头像 发表于 03-14 11:45 794次阅读
    Raspberry Pi树莓派使用<b class='flag-5'>Python</b>实现MQTT通信设计

    基于Python的地图绘制教程

    本文将介绍通过Python绘制地形图的方法,所需第三方Python相关模块包括 rasterio、geopandas、cartopy 等,可通过 pip 等方式安装。
    的头像 发表于 02-26 09:53 1193次阅读
    基于<b class='flag-5'>Python</b>的地图绘制教程

    如何使用linux下gdb来调试python程序

    如何使用linux下gdb来调试python程序  在Linux下,可以使用GDB(GNU调试器)来调试Python程序。GDB是一强大的调试工具,可以帮助开发者诊断和修复程序中的错误。在本文
    的头像 发表于 01-31 10:41 2561次阅读

    如何解决Python爬虫中文乱码问题?Python爬虫中文乱码的解决方法

    如何解决Python爬虫中文乱码问题?Python爬虫中文乱码的解决方法Python爬虫过程中,遇到中文乱码问题是常见的情况。乱码问题主要是由于编码不一致所导致的,下面我将详细介绍
    的头像 发表于 01-12 15:11 2322次阅读

    加速Python for循环的12种方法

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

    split在python中的用法

    split在python中的用法 split()是Python中一非常常用的字符串函数,它能够根据指定的分隔符将一字符串分割成多个子字符串,并返回一
    的头像 发表于 12-25 15:12 2017次阅读