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

表格是存储数据的最典型方式,在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非常相似。

166b0881045a496087c4345ad1ae3b6d.jpg-wh_651x-s_2079636716.jpg

de3ddabfe1b9ced3cf097bd00bf5bd28.png

扫描关注:"WEB开发者网“公众号,分享WEB开发知识,让开发变得更简单!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值