gpt4 book ai didi

pyarrow - 使用数据构建表。避免创建数据框

转载 作者:行者123 更新时间:2023-12-03 23:11:28 36 4
gpt4 key购买 nike

Pandas 数据框很重,所以我想避免这种情况。
但我想构造 Pyarrow Table 以便以 Parquet 格式存储数据。

我搜索并阅读文档并尝试使用
from_array()
但它不起作用。

field=[pa.field('name',pa.string()),pa.field('age',pa.int64())]
arrays=[pa.array(['Tom']),pa.array([23])]
pa.Table.from_arrays(pa.schema(field),arrays)

错误是:
名称长度 (1) 与数组长度 (2) 不匹配

最佳答案

Table.from_arrays文件在这里:https://arrow.apache.org/docs/python/generated/pyarrow.Table.html#pyarrow.Table.from_arrays
它期望的第一个参数是数组,而不是模式。所以你可以这样做:

In [64]: pa.Table.from_arrays(arrays, schema=pa.schema(field))
Out[64]:
pyarrow.Table
name: string
age: int64

或者传递列名而不是完整的模式:
In [65]: pa.Table.from_arrays(arrays, names=['name', 'age']) 
Out[65]:
pyarrow.Table
name: string
age: int64

在下一版本的 pyarrow (0.14.0) 中,您还可以执行以下操作:
In [51]: pa.Table.from_pydict({'name': pa.array(['Tom']), 'age': pa.array([23])})
Out[51]:
pyarrow.Table
name: string
age: int64

关于pyarrow - 使用数据构建表。避免创建数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56639101/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com