如何直接创建Polars struct标量?非Series/DataFrame场景
问题解答
目前Polars没有提供直接创建struct标量的公开API,确实只能通过构建Series或DataFrame的方式间接生成,无法绕过这一步骤。
关于与pyarrow.StructScalar创建问题的区别
虽然Polars底层基于Arrow,但二者的API设计逻辑不同:Polars仅支持将Arrow数组转换为Series、Arrow表转换为DataFrame,并没有提供将单个Arrow struct标量转为Polars struct标量的功能,所以这两个问题并不等同,也没有类似pyarrow那样的快速直接创建方案。
间接创建Polars struct标量的示例
如果需要生成单个struct标量,可以先创建只包含一个元素的Series,再提取标量:
import polars as pl # 先创建含单个字典元素的Series struct_series = pl.Series([{"name": "Alice", "age": 30}]) # 提取标量 struct_scalar = struct_series[0] print(type(struct_scalar)) # <class 'polars.series.Scalar'> print(struct_scalar) # {'name': 'Alice', 'age': 30}
内容的提问来源于stack exchange,提问作者bzm3r
相关产品推荐
相关产品推荐

