python最快的循环方法_【转】【Python效率】五种Pandas循环方法效率对比
【Python效率】五种Pandas循环方法效率对比 - 文兄的文章 - 知乎 https://zhuanlan.zhihu.com/p/80880493
正文:
如果你使用过Python及Pandas,那么你很有可能已经使用了for循环去进行某些数据分析操作。不幸的是,绝大部分Python新手使用的下标循环语句实际上是非常之慢的,即便在小数据集上也会消耗大量的运行时间。本专栏之前的一些文章已经涉及了这方面的讨论,在这篇文章中文兄进一步特意对五种不同的For Loop方法进行横向对比,使大家更加明晰自己平时写的各种For循环到底效率几何。
注意:之后代码里出现的df是一个只有一个column叫做test的dataframe。另外各方法下面的代码均只是用法举例,并不和测试速度用的代码完全一致。测试代码原文如下:https://towardsdatascience.com/how-to-make-your-pandas-loop-71-803-times-faster-805030df4f06towardsdatascience.com
方法1:下标循环(速度等级: )
下标循环是通过循环一个下标数列,通过iloc去不断get数据,这个方法是新手最常用的但也是最慢的,在测试例子中大概需要21.9s。
方法2:Iterrows循环(速度等级: )
该循环方式是通过iterrows进行循环,ind和row分别代表了每一行的index和内容。测试例子大概需要0.07s,比起下标循环速度提升了321倍。
方法3:Apply循环(速度等级: )
Apply是pandas的一个常用函数,通常的用法是内接一个lambda匿名函数,从而对dataframe的每一行都进行循环处理。在测试例子中,apply的速度为0.027s,比下标循环快了811倍。
方法4:Pandas内置向量化函数(速度等级: )
Pandas为我们提供了大量的内置向量化函数,比如sum,mean就可以快速计算某一列的求和和平均。在测试例子中速度为0.00236s,比下标循环快了9280倍。
方法5:Numpy向量化函数(速度等级: )
最后一种方法是将Pandas的数据转化为Numpy的Array,然后使用Numpy的内置函数进行向量化操作。在测试例子中速度为0.000305s,比下标循环快了71800倍。
下面是详细的速度对比图,来自之前链接:
python最快的循环方法_【转】【Python效率】五种Pandas循环方法效率对比相关推荐
- 循环下标_【转】【Python效率】五种Pandas循环方法效率对比
[Python效率]五种Pandas循环方法效率对比 - 文兄的文章 - 知乎 https://zhuanlan.zhihu.com/p/80880493 正文: 如果你使用过Python及Panda ...
- 揭秘python的5种最佳调试方法_揭秘 IPython 的 5 种最佳调试方法-阿里云开发者社区...
云栖号:https://yqh.aliyun.com 第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策! 一个好的集成开发环境(IDE)附带的调试器是 ...
- 瓷砖铺贴方法_老师傅总结:4种瓷砖铺贴的方法,很实用
关注微信公众号:jia-fszx,每天和您分享软装搭配技巧.各种风格户型的装修案例.搭配设计知识等! 在装修新房的时候,瓷砖铺贴是必须要经历的一个过程,瓷砖一旦没铺好,那么就很容易出现空鼓的情况发生, ...
- ps去水印教程_ps去水印教程,详细解析五种去水印的方法
平常我们从一些素材网站下载图片的时候,不免会带上一些水印,使图片的整体美感下降不少,今天教同学们五种去除水印的方法,相信你学习以后,有所收获,遇到喜欢的图片可以把不想要的水印去掉,不过水印是保护图片的 ...
- JSP页面的五种跳转方法
JSP(Java Server Pages)是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态网页技术标准.本文主要介绍的是JSP页面的五种跳转方法,一起来看. AD: JS ...
- python以运行效率高著称吗_提升Python程序运行效率的6个方法
Python是一个很酷的语言,因为你可以在很短的时间内利用很少的代码做很多事情.不仅如此,它还能轻松地支持多任务,比如多进程等.Python批评者有时会说Python执行缓慢.本文将尝试介绍6个技巧, ...
- python源码多平台编译_提升Python程序运行效率的6个方法
Python是一个很酷的语言,因为你可以在很短的时间内利用很少的代码做很多事情.不仅如此,它还能轻松地支持多任务,比如多进程等.Python批评者有时会说Python执行缓慢.本文将尝试介绍6个技巧, ...
- 学python的正确方法_学习Python最正确的步骤(0基础必备)
首先,学习Python编程技术,自学或者参加培训学习都适用,每个人都有自己的学习方式和方法. 一:明确自己的学习目标. 不管我们学习什么样的知识,都要对自己的学习目标有一个明确的认识.只有这样才能朝着 ...
- python init方法是不是私有方法_为什么Python的“私有”方法实际上不是私有的?...
为什么Python的"私有"方法实际上不是私有的? Python使我们能够通过在名称前加上双下划线来创建类中的"私有"方法和变量,如下所示:__myPrivat ...
最新文章
- ZOJ 3822 Known Notation(2014牡丹江Regional K题)
- mongodb小结(转)
- 拉格朗日 SVM KKT
- 【Linux】一步一步学Linux——dmesg命令(74)
- python的pypi安装_python pip及安装包安装
- phpcms留言板功能的实现
- 1074. 元素和为目标值的子矩阵数量
- 控制項學習四(屬性與事件)
- 带你通俗理解https
- svn服务器搭建之备份3
- 关于调试,很大的感触,请看下面的c程序
- Java基本语句(注释语句、javadoc、System.out.print和println和printf区别)复习2
- 2017深度学习装机清单 (附京东链接)
- 老派程序员:徒手实现伟大成就
- 计算机四级网络工程师属于什么职称,计算机四级网络工程师和软考网络工程师有什么区别...
- 物联卡是正规卡还是漏洞卡?一篇最简单明了的解释!
- OD-火星文计算(Python)
- Fwd: Nginx Rewrite研究笔记
- 逆战无法修复服务器,逆战登录时的各种问题 这些问题该如何解决?
- 智慧水务系统建设方案(污水处理、智慧防汛、智慧水务、智慧水利)