基本概念

Polars是由Rust写成的数据分析库。Polars主要依赖以下数据结构: Series, and ChunkedArray<T>, DataFrame和lazyframe。

DataFrame 是一个由 Series 组成的二维数据结构,可以理解为数据表,由行和列构成(列,在数据科学中称为”字段”)。可以在 DataFrame 上执行的操作与在 SQL 中进行的查询非常相似。你可以 GROUP ,JOIN,PIVOT1等。 Dataframe可以被视为 Vec<Series> 的抽象,每一列对应一个Series。Series仅仅持有Arc<dyn SeriesTrait>。而ChunkedArray<T>类型实现SeriesTrait。Series 是 Polars 的隐匿类型的列数据表示。一些与数据类型无关的操作由Series、SeriesTrait提供,比如索引、重命名操作。与数据类型有关的操作必须向下转型到 Series的底层数据结构——ChunkedArray<T>,参见<<索引单个元素Page.2>>。 ChunkedArray<T>,是分块后的数组,底层类似于Vec<dyn ArrowArray>,分块有利于数据的并行运算。这是Polars 的底层数据结构,并实现了许多操作。大多数操作是由在 chunked_array::ops 中定义或在 ChunkedArray 结构上实现的。

1

在数据处理中,"pivot"指的是数据透视。用于长格式的数据转换为宽格式的数据。