查看原文
其他

24式加速你的Python

梁云1991 Python数据科学 2019-07-11

点击上方“Python数据科学”,选择“星标”公众号

重磅干货,第一时间送达

来源:Python与算法之美  编辑:梁云1991



一,分析代码运行时间

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

低速方法


高速方法


专注于数据科学领域的知识分享

欢迎在文章下方留言与交流


推荐阅读 

MXNet创始人李沐《动手学深度学习》中文版上线!

最新深度学习合集:GitHub趋势排行第一位,仅两天斩获2000+Star!

17种经典图表总结,轻松玩转数据可视化!

抖音上好看的小姐姐,Python给你都下载了

越来越像 Linux 了!Windows 系统 5 月更新让 Python 开箱即用

李宏毅:1 天搞懂深度学习,我总结了 300 页 PPT(附思维导图)


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存