24式加速你的Python

你离开我真会死。 提交于 2021-01-19 10:16:24

一,分析代码运行时间

第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密集型任务

低速方法


高速方法



END

往期精选

 

geopandas,python画地图这么简单!

最全数据科学小抄,赶紧收藏吧!

教你如何使用Python制作酷炫二维码

numba,让python飞起来!
大数据告诉你,台风爱在我国哪登陆

数据科学 | 是时候该用seaborn画图了 

小白如何入门Python爬虫

那些不为人知的优秀可视化库

Python机器学习·微教程

小白入门Python数据科学全教程

xlwings,让excel飞起来!

一文搞懂python匿名函数

一文读懂Python的map、reduce函数

一文搞懂python迭代器和生成器



Python大数据分析

data creat value

长按二维码关注


本文分享自微信公众号 - Python大数据分析(pydatas)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!