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

    关注

    57

    文章

    4858

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Python调用API教程

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

    常用硬件加速方法

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

    termux如何搭建python游戏

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

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

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

    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 1058次阅读

    python入门圣经-高清电子书(建议下载)

    和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容; 第二部分将理论付诸实践,讲解如何开发三项目,包括简单的Python 2D 游戏开发如何利用数据
    发表于 04-10 16:53

    西安 5月23-24日《PCB板电磁兼容设计与评审方法》公开课报名中!

    课程名称:《PCB电磁兼容设计与评审方法》讲师:石老师时间地点:西安5月23-24日主办单位:赛盛技术课程背景PCB板是电子产品的噪声源,也是电子产品的敏感源,可以说一的PCB板可
    的头像 发表于 04-03 14:08 540次阅读
    西安 5月23-<b class='flag-5'>24</b>日《PCB板电磁兼容设计与评审<b class='flag-5'>方法</b>》公开课报名中!

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一简单的Python程序。什么是
    的头像 发表于 03-25 09:27 1555次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    Python在嵌入式系统中的应用场景

    你想把你的职业生涯提升到一新的水平?Python在嵌入式系统中正在成为一股不可缺少的新力量。尽管传统上嵌入式开发更多地依赖于C和C++语言,Python的优势在于其简洁的语法、丰富的库和快速的开发周期,这使得它在某些嵌入式场景
    的头像 发表于 03-19 14:10 1217次阅读

    运行OVModelForCausalLM Python模块时出错了,怎么解决?

    创建了一自定义 Python* 代码,类似于遵循 240-dolly-2-instruction 的 Jupyter 笔记本。 OVModelForCausalLM Python* 模块运行时出错。
    发表于 03-05 06:44

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    消息称AMD Instinct MI400 AI加速器将配备8计算芯片

    计算芯片,这一消息在 AI 计算领域引发了广泛关注。 据悉,MI400 将配备 2 有源转接层芯片 (AID),每个 AID 包含 4 加速计算芯片(XCD),共计拥有 8
    的头像 发表于 02-05 15:07 1396次阅读

    Python Connector for InterBase连接解决方案

    适用于 InterBase 的 Python 连接器 Python Connector for InterBase 是一种可靠的连接解决方案,用于从 Python 应用程序访问 InterBase
    的头像 发表于 01-22 14:34 724次阅读

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 2244次阅读