社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

数据处理性能对比(Python原生vs Pandas vs Numpy)

网络大数据 • 7 年前 • 661 次点击  

导读

对于任何数据科学家来说,速度和时间都是一个关键因素。在商业活动中,通常不会使用仅仅有数千个样本的玩具数据集。大部分时候你的数据集包括数百万或数亿个样本。客户订单,网络日志,帐单活动,股票价格等 - 现在的数据集非常庞大。

我猜你不会想花几个小时或几天,等待你的数据处理完成。迄今为止,我所使用的最大数据集包含超过3000万条记录。当我第一次运行数据处理脚本时,预估的完成时间约为4天!我没有非常强大的机器(Macbook Air与i5和4 GB的RAM),但我可以保证一晚上运行完脚本而不是数天。

感谢一些聪明的技巧,我能够将这个运行时间缩短到几个小时。这篇文章将解释实现良好数据处理性能的第一步 - 为您的数据集选择正确的库/框架。

下图显示了我的实验结果(详情如下),与纯Python的处理速度做出对比。



如你所见,Numpy的表现比Pandas的表现要好几倍。我个人喜欢用Pandas来简化许多繁琐的数据科学任务,它是我的首选工具。但是如果预计的处理时间超过多个小时,那么很遗憾,我只能使用Numpy来替代Pandas。

我非常清楚实际的性能可能会有很大的不同,这取决于任务和处理类型。所以请把这些结果仅仅作为参考。没有任何一个单独的测试可以全面对比所有软件工具的性能。


简介


在下面的 Notebook 中你将会比较 Python 原生方法, Pandas 和 Numpy 处理数据的速度。


导入模块




制作模拟随机数据集






Dataset size 54818 records




Python 原生方法



Pandas 方法



Numpy 方法



检查是否所有的方法生成同样的结果



比较运行时间




Python average time: 38.77917420864105 seconds

Pandas average time: 10.483694124221802 seconds



Numpy average time: 2.914765810966492 seconds


展示结果




感谢观看!

end



网络大数据

 (ID:raincent_com


网络大数据 www.raincent.com

由清华CDN实验室于2011年创办,

致力于打造中国最专业的网络大数据科学门户网站。


识别二维码,关注网络大数据





今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/xdlOM8pqWf
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/4041
 
661 次点击