安装
Polars 是一个库,安装就像调用相应编程语言的包管理器一样简单。
pip install polars
# Or for legacy CPUs without AVX2 support
pip install polars-lts-cpu
cargo add polars -F lazy
# Or Cargo.toml
[dependencies]
polars = { version = "x", features = ["lazy", ...]}
大索引
默认情况下,Polars 数据帧的行数限制为 \(2^{32}\)(约 43 亿)。通过启用大索引扩展可将此限制增加到 \(2^{64}\)(约 1800 亿亿)。
pip install polars-u64-idx
cargo add polars -F bigidx
# Or Cargo.toml
[dependencies]
polars = { version = "x", features = ["bigidx", ...] }
旧版 CPU
要在没有 AVX 支持的旧 CPU 上安装适用于 Python 的 Polars,请运行
pip install polars-lts-cpu
导入
要使用该库,只需将其导入您的项目即可
import polars as pl
use polars::prelude::*;
特性标志
使用上述命令,您将 Polars 的核心安装到您的系统上。然而,根据您的使用场景,您可能也想安装可选依赖项。这些依赖项是可选的,以最大程度地减少占用空间。这些标志因编程语言而异。在整个用户指南中,我们将在使用某项功能需要额外依赖项时进行提及。
Python
# For example
pip install 'polars[numpy,fsspec]'
全部
标签 | 描述 |
---|---|
all | 安装所有可选依赖项。 |
GPU
标签 | 描述 |
---|---|
gpu | 在 NVIDIA GPU 上运行查询。 |
注意
有关更详细的说明和先决条件,请参阅GPU 支持。
互操作性
标签 | 描述 |
---|---|
pandas | 将数据与 pandas 数据帧/系列相互转换。 |
numpy | 将数据与 NumPy 数组相互转换。 |
pyarrow | 将数据与 PyArrow 表/数组相互转换。 |
pydantic | 将数据从 Pydantic 模型转换为 Polars。 |
Excel
标签 | 描述 |
---|---|
calamine | 使用 calamine 引擎读取 Excel 文件。 |
openpyxl | 使用 openpyxl 引擎读取 Excel 文件。 |
xlsx2csv | 使用 xlsx2csv 引擎读取 Excel 文件。 |
xlsxwriter | 使用 XlsxWriter 引擎写入 Excel 文件。 |
excel | 安装所有支持的 Excel 引擎。 |
数据库
标签 | 描述 |
---|---|
adbc | 使用 Arrow 数据库连接 (ADBC) 引擎从数据库读取和写入数据。 |
connectorx | 使用 ConnectorX 引擎从数据库读取数据。 |
sqlalchemy | 使用 SQLAlchemy 引擎写入数据库。 |
database | 安装所有支持的数据库引擎。 |
云
标签 | 描述 |
---|---|
fsspec | 从远程文件系统读取和写入。 |
其他 I/O
标签 | 描述 |
---|---|
deltalake | 从 Delta 表读取和写入。 |
iceberg | 从 Apache Iceberg 表读取。 |
其他
标签 | 描述 |
---|---|
async | 异步收集 LazyFrame。 |
cloudpickle | 序列化用户定义的函数。 |
graph | 将 LazyFrame 可视化为图形。 |
plot | 通过 plot 命名空间绘制数据帧。 |
style | 通过 style 命名空间设置数据帧样式。 |
timezone | 时区支持1。 |
Rust
# Cargo.toml
[dependencies]
polars = { version = "0.26.1", features = ["lazy", "temporal", "describe", "json", "parquet", "dtype-datetime"] }
可选功能包括
- 额外数据类型
dtype-date
dtype-datetime
dtype-time
dtype-duration
dtype-i8
dtype-i16
dtype-u8
dtype-u16
dtype-categorical
dtype-struct
lazy
- 惰性 APIregex
- 在列选择中使用正则表达式。dot_diagram
- 从惰性逻辑计划创建 dot 图。
sql
- 将 SQL 查询传递给 Polars。streaming
- 能够处理大于 RAM 的数据集。random
- 生成带有随机采样值的数组ndarray
- 从DataFrame
转换为ndarray
temporal
- Chrono 和 Polars 之间的时间数据类型转换timezones
- 激活时区支持。strings
-StringChunked
的额外字符串工具string_pad
- 用于pad_start
、pad_end
、zfill
。string_to_integer
- 用于parse_int
。
object
- 支持名为ObjectChunked<T>
的通用分块数组(对T
泛型)。这些可以通过 Any trait 从 Series 中向下转型。- 性能相关
nightly
- 若干仅限夜间构建的功能,如 SIMD 和专业化。performant
- 更多快速路径,编译时间更长。bigidx
- 如果您预期行数 >> \(2^{32}\),请激活此功能。这将允许 Polars 通过使用u64
作为索引来大大扩展。激活此功能后,Polars 会稍慢一些,因为许多数据结构的缓存效率较低。cse
- 激活通用子计划消除优化。
- IO 相关
- 数据帧操作
dynamic_group_by
- 基于时间窗口而非预定义键进行分组。还激活滚动窗口分组操作。sort_multiple
- 允许在多列上对数据帧进行排序。rows
- 从行创建数据帧并从dataframes
中提取行。还激活pivot
和transpose
操作。join_asof
- ASOF 连接,用于按最近的键连接而非精确相等匹配。cross_join
- 创建两个数据帧的笛卡尔积。semi_anti_join
- SEMI 和 ANTI 连接。row_hash
- 将数据帧行哈希到UInt64Chunked
的实用工具。diagonal_concat
- 对角线拼接,从而组合不同的 schema。dataframe_arithmetic
- 数据帧与其他数据帧或系列之间的算术运算。partition_by
- 按组拆分为多个数据帧。
- Series/表达式操作
is_in
- 检查 Series 中的成员资格。zip_with
- 压缩两个Series
/ChunkedArray
。round_series
- 对 Series 的底层浮点类型进行四舍五入。repeat_by
- 将数组中的元素重复另一个数组指定的次数。is_first_distinct
- 检查元素是否为第一个唯一值。is_last_distinct
- 检查元素是否为最后一个唯一值。checked_arithmetic
- 检查算术运算,对无效操作返回None
。dot_product
- Series 和表达式上的点积/内积。concat_str
- 以线性时间拼接字符串数据。reinterpret
- 将位重新解释为有符号/无符号的实用工具。take_opt_iter
- 从带有Iterator<Item=Option<usize>>
的 Series 中取值。mode
- 返回最常出现的值。cum_agg
-cum_sum
、cum_min
和cum_max
聚合。rolling_window
- 滚动窗口函数,如rolling_mean
。interpolate
- 插值中间的None
值。extract_jsonpath
- 对StringChunked
运行jsonpath
查询。list
- 列表工具list_gather
- 按多个索引获取子列表。rank
- 排名算法。moment
- 峰度和偏度统计。ewma
- 指数移动平均窗口。abs
- 获取 Series 的绝对值。arange
- Series 上的范围操作。product
- 计算 Series 的乘积。diff
-diff
操作。pct_change
- 计算变化百分比。unique_counts
- 计算表达式中的唯一值。log
- Series 的对数。list_to_struct
- 将List
转换为Struct
数据类型。list_count
- 计算列表中的元素数量。list_eval
- 对列表元素应用表达式。cumulative_eval
- 对累积增加的窗口应用表达式。arg_where
- 获取满足条件的索引。search_sorted
- 查找应插入元素以保持顺序的索引。offset_by
- 为日期添加偏移量,该偏移量考虑月份和闰年。trigonometry
- 三角函数。sign
- 计算 Series 的元素级符号。propagate_nans
-NaN
传播的最小/最大聚合。
- 数据帧美观打印
fmt
- 激活数据帧格式化。
-
仅在 Windows 上才需要。 ↩