You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Polars中二进制转任意数据类型的实现与相关疑问

关于Polars二进制数据处理的两个问题解答

问题1:十六进制字符串按字节拆分后反转拼接

可以通过Polars的字符串与列表操作组合实现,步骤如下:

  • 将十六进制字符串按每2个字符(对应1字节)拆分为列表
  • 反转列表后拼接成目标字符串

示例代码:

import polars as pl

df = pl.DataFrame({"hex_str": ["FD00FE00"]})

result_df = df.with_columns(
    # 按每2个字符拆分字节
    pl.col("hex_str").str.split_every(2).alias("split_bytes"),
    # 反转拆分后的列表并拼接
    pl.col("hex_str").str.split_every(2).list.reverse().list.join("").alias("reversed_hex")
)

print(result_df)

执行后reversed_hex列会输出"00FE00FD",满足需求。如果是从binary类型转换来的十六进制字符串,可先通过pl.col("binary_col").hex()转成字符串后再执行上述操作。

问题2:Polars是否支持binary到int8、float64的直接转换?

目前Polars可通过现有函数组合实现这类转换,部分场景已支持直接转换,后续也有优化空间:

  • 单字节binary转int8可直接用cast:
    pl.col("single_byte_bin").cast(pl.Int8)
    
  • 多字节binary转float64(比如8字节IEEE754浮点数),可直接用cast完成:
    pl.col("eight_byte_bin").cast(pl.Float64)
    
  • Polars开发团队一直在迭代完善类型转换能力,虽然目前没有专门的单一转换函数,但现有API已能覆盖绝大多数场景,后续版本大概率会进一步简化这类操作的实现方式。

内容的提问来源于stack exchange,提问作者wKollendorf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 22:47:08