编译feature设置

#cargo.toml推荐依赖,Polars支持更多的特性,会导致编译速度减慢。
[dependencies]
polars = {version="0.43.0",features=["mode","find_many","polars-io","csv","polars-ops","lazy","docs-selection","streaming","regex","temporal","is_unique","is_between","dtype-date","dtype-datetime","dtype-time","dtype-duration","dtype-categorical","rows","is_in","pivot"]}
polars-io = "0.43.0"
polars-lazy = "0.43.0"

完整的编译特性列表:https://docs.rs/crate/polars/latest/features

常用特性含义
lazy启用lazy API
regex在col()表达式中支持正则
sql支持SQL查询
streaming启用数据流,这支持处理数据量大于内存。
random生成随机采样的array。
timezones时区支持
strings字符串提取工具
object支持任意数据类型ObjectChunked,它利用Any trait处理不同类型。
json支持json的序列化和反序列化
serde支持serde库序列化和反序列化
serde-lazy支持serde库序列化和反序列化
sort_multiple支持多列排序
rows从行中创建 DataFrame 并从 DataFrame 中提取行。激活数据透视和转置操作。
这句话的意思是
asof_join支持ASOF连接1操作。
cross_join创建两个DataFrame的笛卡尔积2
is_in判断值是否在Series中
is_between判断是否在上下限之间。
zip_with将两个Series进行Zip运算。
arg_where返回满足条件的索引
unique_counts支持唯一值计数
rank计算秩
interpolate对Series的缺失值进行插值

1

在数据处理中,"连接"是指将两个或更多的数据集根据一些共享的键(key)或列合并在一起。通常,这种连接要求键的值必须完全匹配。然而,ASOF连接是一种特殊的连接方式,它不要求键的值完全匹配,而是允许根据最接近的键进行连接。这在处理时间序列数据时特别有用,因为你可能想要将数据连接到最接近的时间点,而不是精确匹配的时间点。例如,如果你有一份包含股票价格的数据,每行数据都有一个时间戳,你可能想要将这份数据与另一份包含经济指标的数据进行连接,这份数据也有时间戳,但时间戳可能并不完全匹配。

2

数据处理中,"笛卡尔积"是指两个数据集的所有可能的组合。例如,如果你有两个DataFrame,一个包含A、B两行,另一个包含1、2两行,那么这两个DataFrame的笛卡尔积将包含四行:(A, 1),(A, 2),(B, 1),(B, 2)。