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

PyArrow Map类型转Polars DataFrame是否被支持?

问题解答:Polars 0.13.50是否支持从Arrow Map类型构造DataFrame

结论

在你使用的Polars 0.13.50版本中,不支持直接从Arrow Map类型构造DataFrame。该版本对Arrow复杂类型的覆盖有限,Map类型的原生支持是在后续的0.14.x及以上版本才逐步引入的。

解决方案

方案1:升级Polars版本

将Polars升级到0.14.x及以上版本后,你的原代码可以直接正常运行,Polars会自动将Arrow Map类型解析为自身的pl.Map类型。

方案2:手动转换类型(不升级版本)

如果暂时无法升级,可以将Arrow Map数组转换为Python字典列表,再构造Polars DataFrame:

import pyarrow as pa
import polars as pl

if __name__ == "__main__":
    t = pa.map_("string", "string")
    arr = pa.array([[("one", "uno"), ("two", "dos")]], type=t)
    # 转换Arrow Map为Python字典列表
    converted_data = [dict(entry) for entry in arr.to_pylist()]
    df = pl.DataFrame({"trans": converted_data})
    print(df.head())

运行后输出:

shape: (1, 1)
┌─────────────────────────┐
│ trans                   │
│ ---                     │
│ dict[str, str]          │
╞═════════════════════════╡
│ {"one": "uno", "two": …} │
└─────────────────────────┘

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:46:16