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

如何直接构建采用PyArrow后端的Pandas DataFrame?

直接构建PyArrow后端的Pandas DataFrame方法

在Pandas 2.0及以上版本中,确实有几种更直接的方式构建PyArrow后端的DataFrame,无需依赖pd.read_xxx(type_backend='pyarrow')或事后转换:

1. 初始化DataFrame时指定PyArrow类型

通过pd.ArrowDtype显式定义列的类型,让Pandas直接使用PyArrow作为后端存储:

import pandas as pd
import pyarrow as pa

df = pd.DataFrame(
    {
        "integer": [1, 2, 3, 4],
        "text": ["foo", "bar", "baz", "qux"],
        "decimal": [1.1, 2.2, 3.3, 4.4]
    },
    dtype={
        "integer": pd.ArrowDtype(pa.int64()),
        "text": pd.ArrowDtype(pa.string()),
        "decimal": pd.ArrowDtype(pa.float64())
    }
)

# 验证类型(会显示ArrowDtype对应的PyArrow类型)
print(df.dtypes)

2. 从PyArrow对象直接转换

如果你已经有PyArrow的Table或Array对象,可以直接转换为Pandas DataFrame,自动使用PyArrow后端:

import pyarrow as pa
import pandas as pd

# 先构建PyArrow Table
arrow_table = pa.table({
    "id": [101, 102, 103],
    "category": ["A", "B", "C"]
})

# 直接转为PyArrow后端的DataFrame
df = pd.DataFrame(arrow_table)
# 或者使用更明确的pd.from_arrow()
# df = pd.from_arrow(arrow_table)

print(df.dtypes)

注意事项

  • 确保已经安装pyarrow库(可通过pip install pyarrow安装)
  • 并非所有PyArrow类型都能被Pandas兼容,建议使用常见的标准类型(如int64、string、float64、bool等)

内容的提问来源于stack exchange,提问作者Attila the Fun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:37:05