快速了解Rust 的数据分析库Polars

【图书介绍】《Rust编程与项目实战》-优快云博客

《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com)

17.1.1  什么是Polars

Polars是一个基于 Rust 的数据分析库,它的目标是提供一个高性能的数据分析工具,同时也提供了Python和JavaScript的接口,也就是说这款工具还可以供Python使用。Polars是一个用纯Rust开发的速度极快的DataFrame库,底层使用Apache Arrow内存模型。

数据科学家和数据分析师都对Pandas非常熟悉。对于数据科学领域的从业者来说,几乎无一例外地都会花费大量时间学习用Pandas处理数据。然而Pandas被诟病最多的是其运行速度和大数据集的处理效率。幸运的是,Polars的出现弥补了Pandas的不足。

Polars最核心的概念是表达式(Expressions),也是其拥有快速性能的核心。Polars提供了一个强大的表达式API。表达式API允许你创建和组合多种操作,例如过滤、排序、聚合、窗口函数等。表达式API也可以优化查询性能和内存使用。

17.1.2  Polars和Pandas对比

Polars与Pandas在许多方面具有截然不同的设计与实现。不像Pandas中每个DataFrame都有一个索引列(Pandas的很多操作也是基于索引的,例如join两个DataFrame进行联合查询),Polars并没有索引(Index)概念。主要区别如下:

(1)Polars使用Apache Arrow作为内部数据格式,而Pandas使用NumPy数组。

(2)Polars提供比Pandas更多的并发支持。

(3)Polars支持惰性查询并提供查询优化。

(4)Polars提供了与Pandas相似的API,以便于用户更快地上手。

简单地说,Polars相当于Rust的Pandas,且性能比Pandas要好很多。总体感觉,Polars就是奔着取代Pandas而生的。

17.1.3  为什么需要Polars

跟Pandas比,Polars有如下优势:

(1)Polars取消了DataFrame中的索引。消除索引让Polars更容易操作数据(Pandas中的DataFrame的索引很鸡肋)。

(2)Polars数据底层用Apache Arrow数组表示,而Pandas数据背后用NumPy数组表示。Apache Arrow在加载速度、内存占用和计算效率上都更加高效。

(3)Polars比Pandas支持更多并行操作。因为Polars是用Rust写的,所以可以无畏并发

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值