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

    关注

    59

    文章

    4892

    浏览量

    90396
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用PYTHON进行的跨平台仿真

    如何使用编程语言Python来调用和控制VirtualLab Fusion中的模拟。请查看下面链接的文档,以找到关于如何设置和使用Python和VirtualLab Fusion之间的接口的详细指南,以及一
    发表于 04-02 08:21

    [VirtualLab] 使用Python运行VirtualLab Fusion光学仿真

    Fusion的简单方法。在本示例中,我们将演示如何使用Python脚本运行光学仿真,以向用户简要概述这种跨平台的仿真能力。 用例概览 文件路径 用户可以在样本文件的文件夹中找到所有文件。包含这些文件
    发表于 03-31 09:39

    [VirtualLab] 使用Python进行跨平台参数扫描

    ** 准备Python **配置路径 ** **在VirtualLab Fusion中定义一光学设置 ** **保存光学设置并导出参数到一XML文件 ** **运行模拟 ** 参数扫描——改变单个参数
    发表于 03-31 09:36

    12V转24V DC-DC转换器哪些品牌口碑?选错就是“烧钱”!

    一、12V转24V DC-DC转换器哪些品牌口碑?选错就是“烧钱”! 搞卡车改装的、弄太阳能储能的、还有做通信基站的朋友。 最近后台私信炸了:“12V转24V DC-DC转换器哪些品牌口碑
    的头像 发表于 03-30 15:00 361次阅读
    12V转<b class='flag-5'>24</b>V DC-DC转换器哪些品牌口碑<b class='flag-5'>好</b>?选错就是“烧钱”!

    器件工艺协同优化中加速版图设计的三种方法

    器件工艺协同优化(DTCO)流程需要生成海量版图。本文将介绍几种借助自动化手段,加速这一耗时流程的实现方法
    的头像 发表于 03-24 09:41 346次阅读
    器件工艺协同优化中<b class='flag-5'>加速</b>版图设计的三种<b class='flag-5'>方法</b>

    揭秘盐雾试验:24小时加速测试与自然环境腐蚀时间的对比

    材料耐腐蚀性能的加速评估在工业生产和产品设计中,材料的耐腐蚀性能是一至关重要的考量因素。尤其是在海洋、沿海地区或高湿度环境中,材料的腐蚀速率会显著加快,这不仅影响产品的美观,更关键的是可能会影响其
    的头像 发表于 03-06 16:55 1211次阅读
    揭秘盐雾试验:<b class='flag-5'>24</b>小时<b class='flag-5'>加速</b>测试与自然环境腐蚀时间的对比

    无法去除 Python VisionFive.i2c 库的终端输出?

    方法,终端都会输出 “i2c_dev: /dev/i2c-0” 这样的字段 这个字段既不是 stderr 也不是 stdout,完全去不掉 因为用的 Python 的 curses 库设计的交互界面
    发表于 02-25 06:13

    没有专利的opencv-python 版本

    保留基础功能,完全免费合规),支持 Python 3.13 的版本为 4.8.0.74 及以上,安装命令: # 清华源加速,安装最新稳定版(自动匹配 Python 3.13) pip install
    发表于 12-13 12:37

    Python调用API教程

    不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests库发送HTTP请求 使用Python调用API的第一步是发送HTTP
    的头像 发表于 11-03 09:15 1278次阅读

    常用硬件加速方法

    之前总结了一些常用硬件加速方法 1)面积换速度:也就是串转并运算,可以多个模块同时计算; 2)时间换空间:时序收敛下通过频率提高性能,虽然面积可能稍微加大点; 3)流水线操作:流水线以面积换性能,以
    发表于 10-29 06:20

    termux调试python猜数字游戏

    用termux做一猜数字游戏 下面是在Termux中创建猜数字游戏的步骤及完整实现方案,结合Python实现(最适配Termux环境): ? 一、环境准备(Termux基础配置) 1.
    发表于 08-29 17:15

    termux如何搭建python游戏

    戏开发流程 以Pygame为例,创建一基础窗口: ```python import pygame pygame.init() screen = pygame.display.set_mode
    发表于 08-29 07:06

    Python中字符串逆序有几种方式,代码是什么

    对于一给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作,毕竟强大的列表和字符串处理的一些列函数足以应付这些问题 了,今天总结了一下python中对于字符串的逆序输出的几种常用
    的头像 发表于 08-28 14:44 1387次阅读

    python app不能运行怎么解决?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    发表于 08-06 06:27

    电解电容的寿命如何评估?加速老化测试方法

    电解电容的寿命评估通常基于其失效机理和工作环境条件。加速老化测试方法则是为了在短时间内评估电容的寿命特性而采用的一种技术手段。以下是对电解电容寿命评估及加速老化测试方法的详细分析: 一
    的头像 发表于 06-11 16:21 1868次阅读