插件#
插件允许扩展Polars的功能。有关更多信息和资源,请参阅用户指南。
可用的插件实用函数有:
|
注册一个插件函数。 |
- polars.plugins.register_plugin_function(
- *,
- plugin_path: Path | str,
- function_name: str,
- args: IntoExpr | Iterable[IntoExpr],
- kwargs: dict[str, Any] | None = None,
- is_elementwise: bool = False,
- changes_length: bool = False,
- returns_scalar: bool = False,
- cast_to_supertype: bool = False,
- input_wildcard_expansion: bool = False,
- pass_name_to_apply: bool = False,
注册一个插件函数。
查看用户指南以获取更多关于插件的信息。
- Parameters:
- plugin_path
插件包的路径。接受动态库文件的文件路径或包含它的目录路径。
- function_name
要注册的Rust函数的名称。
- args
传递给此函数的参数。这些参数会被传递给Rust端的
input参数,并且必须是表达式(或可转换为表达式)。- kwargs
插件函数的非表达式参数。这些必须是可JSON序列化的。
- is_elementwise
表示该函数仅对标量进行操作。这可能会触发快速路径。
- changes_length
表示该函数将改变表达式的长度。 例如,
unique或slice操作。- returns_scalar
如果函数作为最终聚合运行,则在单位长度上自动展开。 这是像
sum、min、covariance等聚合的情况。- cast_to_supertype
将输入表达式转换为其超类型。
- input_wildcard_expansion
在执行函数之前展开通配符表达式。
- pass_name_to_apply
如果设置为
True,在分组操作中传递给函数的Series将确保名称被设置。这是每个组的额外堆分配。
- Returns:
- Expr
警告
这是非常不安全的,因为这将调用由
plugin::function_name加载的C函数。您设置的参数决定了Polars将如何处理该函数。 请确保它们是正确的!