Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【推荐收藏】24式加速你的Python

【推荐收藏】24式加速你的Python

作者头像
Sam Gor
发布于 2019-07-08 15:16:33
发布于 2019-07-08 15:16:33
7770
举报
文章被收录于专栏:SAMshareSAMshare

一,分析代码运行时间

第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加速字典合并

低速方法

高速方法

六,使用高阶函数进行加速

第14式,使用map代替推导式进行加速

低速方法

高速方法

第15式,使用filter代替推导式进行加速

低速方法

高速方法

七,使用numpy向量化进行加速

第16式,使用np.array代替list

低速方法

高速方法

第17式,使用np.ufunc代替math.func

低速方法

高速方法

第18式,使用np.where代替if

低速方法

高速方法

八,加速你的Pandas

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

低速方法

高速方法

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

低速方法

高速方法

九,使用Dask进行加速

第21式,使用dask加速dataframe

低速方法

高速方法

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

低速方法

高速方法

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

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

低速方法

高速方法

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

低速方法

高速方法

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SAMshare 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
24招加速你的Python,超级实用!
云哥前期从以下九个方面讨论了加速Python的具体方法,一共24个,每个都带有优化前后的对比,非常实用。
double
2019/10/08
6400
24招加速你的Python,超级实用!
不懂这24招神技,别说你会Python!
一,分析代码运行时间 第1式,测算代码运行时间 平凡方法 快捷方法(jupyter环境) 第2式,测算代码多次运行平均 时间 平凡方法 快捷方法(jupyter环境) 第3式,按调用函数分析代码运行时
一墨编程学习
2019/07/18
8730
不懂这24招神技,别说你会Python!
几个方法帮你加快Python运行速度
Python运行的慢是历来被诟病的,一方面和语言有关,另一方面可能就是你代码的问题。语言方面的问题我们解决不了,所以只能在编程技巧上来提高程序的运行效率。下面就给大家分享几个提高运行效率的编程方法。
深度学习与Python
2019/06/18
4.5K0
Pandas高级数据处理:并行计算
在大数据时代,Pandas作为Python中广泛使用的数据分析库,以其易用性和强大的功能受到了众多开发者的青睐。然而,随着数据量的增加,单线程处理速度逐渐成为瓶颈。为了提高数据处理效率,Pandas提供了多种并行计算的方法。本文将由浅入深地介绍Pandas并行计算的基本概念、常见问题及解决方案,并通过代码案例进行详细解释。
Jimaks
2025/01/26
1800
更快更强!四种Python并行库批量处理nc数据
Dask、multiprocessing、ThreadPoolExecutor、和joblib都是Python中用于实现并行计算和任务调度的库或模块,各有其特点和应用场景:
用户11172986
2024/06/20
8170
更快更强!四种Python并行库批量处理nc数据
Python高效编程的20个"魔鬼细节",你可能从未注意过!
作为拥有多年Python开发经验的工程师,我发现很多看似简单的语法背后藏着影响代码性能的魔鬼细节。今天分享前7个极易被忽视的编程技巧(文末附对比表格)
Jimaks
2025/05/09
1050
资源 | Pandas on Ray:仅需改动一行代码,即可让Pandas加速四倍
选自UC Berkeley Rise Lab 作者:Devin Petersohn 机器之心编译 参与:Nurhachu Null、路雪 本文中,来自 UC Berkeley 的 Devin Petersohn 发布文章介绍了其参与的项目 Pandas on Ray,使用这款工具,无需对代码进行太多改动即可加速 Pandas,遇到大型数据集也不怕。作者还对 Pandas on Ray、Pandas 进行了对比评估。机器之心对此文进行了编译介绍。 项目链接:https://github.com/ray-pro
机器之心
2018/05/08
3.6K0
资源 | Pandas on Ray:仅需改动一行代码,即可让Pandas加速四倍
(数据科学学习手札136)Python中基于joblib实现极简并行计算加速
  我们在日常使用Python进行各种数据计算处理任务时,若想要获得明显的计算加速效果,最简单明了的方式就是想办法将默认运行在单个进程上的任务,扩展到使用多进程或多线程的方式执行。
Feffery
2022/05/15
8450
(数据科学学习手札136)Python中基于joblib实现极简并行计算加速
Dask教程:使用dask.delayed并行化代码
在本节中,我们使用 Dask 和 dask.delayed 并行化简单的 for 循环样例代码。通常,这是将函数转换为与 Dask 一起使用所需的唯一函数。
郭好奇同学
2021/08/26
4.7K0
Dask教程:使用dask.delayed并行化代码
python进阶(15)多线程与多进程效率测试
在Python中,计算密集型任务适用于多进程,IO密集型任务适用于多线程 正常来讲,多线程要比多进程效率更高,因为进程间的切换需要的资源和开销更大,而线程相对更小,但是我们使用的Python大多数的解释器是Cpython,众所周知Cpython有个GIL锁,导致执行计算密集型任务时多线程实际只能是单线程,而且由于线程之间切换的开销导致多线程往往比实际的单线程还要慢,所以在 python 中计算密集型任务通常使用多进程,因为各个进程有各自独立的GIL,互不干扰。 而在IO密集型任务中,CPU时常处于等待状态,操作系统需要频繁与外界环境进行交互,如读写文件,在网络间通信等。在这期间GIL会被释放,因而就可以使用真正的多线程。 上面都是理论,接下来实战看看实际效果是否符合理论
全栈程序员站长
2022/09/19
5300
python进阶(15)多线程与多进程效率测试
零基础如何系统地自学Python编程?
零基础如何系统地自学Python编程?绝大多数零基础转行者学习编程的目的就是想找一份高薪有发展前景的工作,哪个编程语言就业前景好越值得学习。零基础的同学学Python是一个不错的选择。
python学习教程
2021/04/23
9860
零基础如何系统地自学Python编程?
如何在Python中用Dask实现Numpy并行运算?
Python的Numpy库以其高效的数组计算功能在数据科学和工程领域广泛应用,但随着数据量的增大和计算任务的复杂化,单线程处理往往显得力不从心。为了解决这一问题,Python提供了多种并行计算工具,其中Dask是一款能够扩展Numpy的强大并行计算框架。通过Dask,开发者能够轻松实现Numpy数组的并行化操作,充分利用多核处理器和分布式计算资源,从而显著提高计算性能。
sergiojune
2024/11/07
3050
如何在Python中用Dask实现Numpy并行运算?
算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环
For 循环,老铁们在编程中经常用到的一个基本结构,特别是在处理列表、字典这类数据结构时。但是,这东西真的是个双刃剑。虽然看起来挺直白,一用就上手,但是,有时候用多了,问题也跟着来了。
算法金
2024/07/07
1890
算法金 | 推导式、生成器、向量化、map、filter、reduce、itertools,再见 for 循环
Python多进程多线程对比
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
不可言诉的深渊
2019/07/26
6560
Python性能优化全攻略:10个实用技巧大公开
Python,作为一种动态类型的解释性语言,确实在执行速度上可能不如C这样的静态类型的编译语言。但是,通过一些技巧和策略,我们可以显著提升Python代码的性能。
小羽网安
2024/06/21
3380
Python性能优化全攻略:10个实用技巧大公开
【推荐收藏】18式优雅你的Python
在cmd中输入jupyter notebook --generate-config,然后找到生成的配置文件 jupyter_notebook_config.py,在其中加入一条语句:
Sam Gor
2019/08/21
5210
Python | 事半功倍怎么来呢
在写爬虫时,在数据量比较大时大家一定遇见过爬取速度不理想的问题吧。这次小编以上次的“360图片爬虫”,把它分别改写成了多进程,多线程,以及多线程 + 多进程的爬虫做了一个对比。上一篇链接如下:
用户6825444
2019/12/18
3800
Python | 事半功倍怎么来呢
Python语法-多进程、多线程、协程(异步IO)
CPU密集型又叫做计算密集型,指I/O在很短时间就能完成,CPU需要大量的计算和处理,特点是CPU占用高。
码客说
2021/11/29
4.6K0
Python语法-多进程、多线程、协程(异步IO)
如何利用并发性加速你的 python程序(上)
工程师 Jim Anderson 分享了他的经验,他写了一篇关于「通过并发性加快 python 程序的速度」的文章。Jim 有多年的编程经验,并且使用过各种编程语言。他曾做过嵌入式系统相关的工作,开发过分布式系统,并且参加过许多会议。
AI科技评论
2019/10/31
1.4K0
如何利用并发性加速你的 python程序(上)
如何在 GPU 上加速数据科学
数据科学家需要算力。无论您是用 pandas 处理一个大数据集,还是用 Numpy 在一个大矩阵上运行一些计算,您都需要一台强大的机器,以便在合理的时间内完成这项工作。
AI研习社
2019/08/16
2K0
推荐阅读
相关推荐
24招加速你的Python,超级实用!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档