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

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

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

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

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

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

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

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

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

简介

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

导入模块

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

制作模拟随机数据集

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

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

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

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

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

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

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

Python 原生方法

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

Pandas 方法

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

Numpy 方法

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

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

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

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

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

比较运行时间

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

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

Python average time: 38.77917420864105 seconds

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

Pandas average time: 10.483694124221802 seconds

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

Numpy average time: 2.914765810966492 seconds

展示结果

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

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

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

本文为专栏文章,来自:数据工匠,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/48937.html 。

(2)
数据工匠的头像数据工匠专栏
上一篇 2017-10-26 07:40
下一篇 2018-03-12 19:00

相关文章

关注我们
关注我们
分享本页
返回顶部