相关文章
1、30倍!使用Cython加速Python代码
2、CuPy:将Numpy提速700倍!
3、71803倍!超强Pandas循环提速攻略
4、10个提高工作效率的Pandas小技巧
5、CPU靠边站!使用cuDF在GPU加速Pandas
6、1000+倍!超强Python『向量化』数据处理提速攻略
7、Datatable:Python数据分析提速高手!
1
前言
使用Python进行大数据分析变得越来越流行。这一切都要从NumPy开始,它也是今天我们在推文介绍工具背后支持的模块之一。
2
Vaex
Vaex是一种更快、更安全、总体上更方便的方法,可以使用几乎任意大小的数据进行数据研究分析,只要它能够适用于笔记本电脑、台式机或服务器的硬盘驱动器。
Vaex是一个开源的DataFrame库,它可以对表格数据集进行可视化、探索、分析,甚至机器学习,这些数据集和你的硬盘驱动器一样大。它可以在一个n维网格上每秒计算超过10亿(10^9)个对象的平均值、和、计数、标准差等统计信息。可视化使用直方图、使用直方图、密度图和3D立体渲染进行可视化。为此,Vaex采用了内存映射、高效的外核算法和延迟计算等概念来获得最佳性能(不浪费内存)。所有这些都封装在一个类似Pandas的API中。
GitHub:https://github.com/vaexio/vaex
3 Vaex vs Dask、Pandas、Spark
Vaex与Dask不同,但与Dask DataFrames相似,后者是在Pandas DataFrame之上构建的。这意味着Dask继承了Pandas issues,比如数据必须完全装载到RAM中才能处理的要求,但Vaex并非如此。
Vaex不生成DataFrame副本,所以它可以在内存较少的机器上处理更大的DataFrame。
Vaex和Dask都使用延迟处理。唯一的区别是,Vaex在需要的时候才计算字段,而Dask需要显式地使用compute函数。
数据需要采用HDF5或Apache Arrow格式才能充分利用Vaex。
1亿行的数据集,对Panda