美文网首页Web前端之路Android技术知识
数据处理性能对比(Python原生 vs Pandas vs N

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

作者: Datartisan数据工匠 | 来源:发表于2017-11-02 11:44 被阅读574次

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

    我猜你不会想花几个小时或几天,等待你的数据处理完成。迄今为止,我所使用的最大数据集包含超过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
    

    展示结果


    更多课程和文章尽在微信号:
    「datartisan数据工匠」

    相关文章

      网友评论

        本文标题:数据处理性能对比(Python原生 vs Pandas vs N

        本文链接:https://www.haomeiwen.com/subject/jitbpxtx.html