SQL与Pandas大数据分析性能对比(Haki Benita)


Pandas熊猫是一种非常流行的数据分析工具。它内置了许多有用的功能,经过了实战测试并被广泛接受。但是,熊猫并不一定总是工作的最佳工具。
SQL数据库自1970年代就已经存在。世界上一些最聪明的人致力于使快速,高效地切片,切块,获取和操作数据变得容易。SQL数据库已经走了很长一段路,以至于许多开发人员和数据科学家失去了对他们已经拥有的数据库可以做什么的跟踪!
本文演示了如何使用SQL和Pandas相结合执行快速有效的数据分析。
假设有一个简单的表,其中有100万个用户,每个用户都有一个用户名和一个标志,标志是说明该用户是否已激活。现在数据分析任务是:有多少个已激活和未激活的用户?
点击标题见原文,直接上结论:

使用Pandas分析整张表:     内存347M  运行1.101秒
使用Pandas分析必要数据:   内存193M  运行0.839秒
使用数据库聚合的Pandas:   内存40M   运行0.38秒
不使用Pandas使用数据库聚合: 内存2.3M  运行0.114秒

虽然,最后SQL从内存消耗和运行时间完胜Pandas,所有这一切并不是说Pandas是不必要的,或者可以替换它。Pandas提供了巨大的利益,它已被证明具有不可估量的价值。
要利用数据库和大数据两个世界优点并创建速度更快的轻量级程序,请同时使用SQL和Pandas!