Polars是否支持UUID转u128?自定义转换该选哪种类型?
关于Polars处理字符串UUID转数值类型的问题
1. Polars是否支持内置转换?
目前Polars稳定版没有提供类似str.to_datetime的内置方法来直接将字符串UUID转换为u128类型,需要在Python端自行处理转换逻辑。
2. 自行转换的类型选择
Polars确实没有原生u128类型,可根据需求选择以下方案:
- Decimal类型:如果想用数值形式存储,可使用
Decimal(39, 0)类型(u128最大值为39位数字),它基于i128实现,能完整容纳UUID转换后的u128数值。 - Binary类型:将UUID转换为16字节的二进制数据存储,空间占用远小于字符串(36字节),查询效率也更高,适合仅需存储和比对的场景。
- 拆分Uint64:把128位UUID拆分为高64位和低64位两个Uint64字段,适合需要对UUID部分位进行操作的场景。
3. 关于Rust Uuid crate支持的工单
你提到的相关工单目前尚未合并到Polars稳定版,暂时无法使用内置的UUID类型支持。
内容的提问来源于stack exchange,提问作者Jeremy Chone
相关产品推荐
相关产品推荐

