教你降龙24掌加速你的Python代码

一,分析代码运行时间

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

平凡方法

教你降龙24掌加速你的Python代码

快捷方法(jupyter环境)

教你降龙24掌加速你的Python代码

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

平凡方法

教你降龙24掌加速你的Python代码

快捷方法(jupyter环境)

教你降龙24掌加速你的Python代码

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

平凡方法

教你降龙24掌加速你的Python代码

教你降龙24掌加速你的Python代码

快捷方法(jupyter环境)

教你降龙24掌加速你的Python代码

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

平凡方法

教你降龙24掌加速你的Python代码

教你降龙24掌加速你的Python代码

教你降龙24掌加速你的Python代码

教你降龙24掌加速你的Python代码

快捷方法(jupyter环境)

教你降龙24掌加速你的Python代码

二,加速你的查找

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

低速方法

教你降龙24掌加速你的Python代码

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

第6式,用dict而非两个list进行匹配查找

低速方法

教你降龙24掌加速你的Python代码

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

三,加速你的循环

第7式,优先使用for循环而不是while循环

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

第8式,在循环体中避免重复计算

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

四,加速你的函数

第9式,用循环机制代替递归函数

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

第10式,用缓存机制加速递归函数

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

第11式,用numba加速Python函数

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

五,使用标准库函数进行加速

第12式,使用collections.Counter加速计数

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

第13式,使用collections.ChainMap加速字典合并

低速方法

教你降龙24掌加速你的Python代码

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

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

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

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

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

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

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

低速方法

教你降龙24掌加速你的Python代码

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

七,加速你的Pandas

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

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

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

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

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

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

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

低速方法

教你降龙24掌加速你的Python代码

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

八,使用Dask进行加速

第21式,使用dask加速dataframe

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

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

低速方法

教你降龙24掌加速你的Python代码

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

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

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

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

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

低速方法

教你降龙24掌加速你的Python代码

高速方法

教你降龙24掌加速你的Python代码

往期精彩

如何在面试中展现你对Python的coding能力?

如何用Python和数据分析鉴别网络刷单 ?

使用Python伪装黑客,批量获取网站密码!

用Python打造实时截图识别OCR

Python+Matplotlib 制作排序算法的动画

Python项目:让你的文字会说话

利用Python开发智能阅卷系统

Scrapy 爬取二手房信息,进行可视化数据分析

END

关注【程序IT圈】,更多的Python好文输出

教你降龙24掌加速你的Python代码