当前位置:主页 > 查看内容

比Pandas 更好的替代?PySpark,Julia等对比

发布时间:2021-06-22 00:00| 位朋友查看

简介:表格是存储数据的最典型方式,在Python环境中没有比Pandas更好的工具来操作数据表了。 尽管Pandas具有广泛的能力,但它还是有局限性的。比如,如果数据集超过了内存的大小,就必须选择一种替代方法。 但是,如果在内存合适的情况下放弃Pandas使用其他工具是……

表格是存储数据的最典型方式,在Python环境中没有比Pandas更好的工具来操作数据表了。 尽管Pandas具有广泛的能力,但它还是有局限性的。比如,如果数据集超过了内存的大小,就必须选择一种替代方法。 但是,如果在内存合适的情况下放弃Pandas使用其他工具是否有意义呢?

Pandas是一种方便的表格数据处理器,提供了用于加载,处理数据集并将其导出为多种输出格式的多种方法。 Pandas可以处理大量数据,但受到PC内存的限制。 数据科学有一个黄金法则。 如果数据能够完全载入内存(内存够大),请使用Pandas。 此规则现在仍然有效吗?

为了验证这个问题,让我们在中等大小的数据集上探索一些替代方法,看看我们是否可以从中受益,或者咱们来确认只使用Pandas就可以了。

您可以在GitHub上查看完整的代码

pandas_alternatives_POC.ipynb —探索dask,spark,vaex和modin julia_POC.ipynb —探索julia和julia性能测试 Performance_test.py —运行python性能测试控制台运行 Results_and_Charts.ipynb —处理性能测试日志并创建图表

Pandas替代

让我们首先探讨反对替代Pandas的论点。

1. 他们不像Pandas那么普遍

1. 文档,教程和社区支持较小

我们将逐一回顾几种选择,并比较它们的语法,计算方法和性能。 我们将看一下Dask,Vaex,PySpark,Modin(全部使用python)和Julia。 这些工具可以分为三类:

· 并行/云计算— Dask,PySpark和Modin

· 高效内存利用— Vaex

· 不同的编程语言— Julia

数据集

对于每种工具,我们将使用Kaggle欺诈检测数据集比较基本操作的速度。 它包含两个文件traintransaction.csv(〜700MB)和trainidentity.csv(〜30MB),我们将对其进行加载,合并,聚合和排序,以查看性能有多快。 我将在具有16GB RAM的4核笔记本电脑上进行这些操作。

主要操作包括加载,合并,排序和聚合数据

Dask-并行化数据框架

Dask的主要目的是并行化任何类型的python计算-数据处理,并行消息处理或机器学习。 扩展计算的方法是使用计算机集群的功能。 即使在单台PC上,也可以利用多个处理核心来加快计算速度。

Dask处理数据框的模块方式通常称为DataFrame。 它的功能源自并行性,但是要付出一定的代价:

1. Dask API不如Pandas的API丰富

1. 结果必须物化

Dask的语法与Pandas非常相似。

比Pandas 更好的替代?PySpark,Julia等对比
本文转载自网络,原文链接:https://www.toutiao.com/a6922620029397729800/
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐