pyarrow.concat_tables#

pyarrow.concat_tables(tables, MemoryPool memory_pool=None, str promote_options='none', **kwargs)#

连接 pyarrow.Table 对象。

如果 promote_options 为“none”,将执行零拷贝连接。所有表的模式(Schema)必须相同(元数据除外),否则将引发异常。结果表将与第一个表共享元数据。

如果 promote_options 为“default”,任何 null 类型数组都将被强制转换为同名列中其他数组的类型。如果某个表缺少特定字段,则会生成相应类型的 null 值来填充该缺失字段。新模式将与第一个表共享元数据。新模式中的每个字段将与第一个定义了该字段的表共享元数据。请注意,类型提升可能涉及在给定的 memory_pool 上进行额外的内存分配。

如果 promote_options 为“permissive”,则在“default”行为的基础上,类型将被提升为所有字段都适用的通用类型(最小公分母)。

参数:
tables可迭代对象 of pyarrow.Table 对象

要连接成单个 Table 的 Pyarrow 表。

memory_poolMemoryPool, 默认 None

用于内存分配(如果需要),否则使用默认内存池。

promote_optionsstr,默认为 none

接受字符串“none”、“default”和“permissive”。

**kwargsdict, 可选

示例

>>> import pyarrow as pa
>>> t1 = pa.table([
...     pa.array([2, 4, 5, 100]),
...     pa.array(["Flamingo", "Horse", "Brittle stars", "Centipede"])
...     ], names=['n_legs', 'animals'])
>>> t2 = pa.table([
...     pa.array([2, 4]),
...     pa.array(["Parrot", "Dog"])
...     ], names=['n_legs', 'animals'])
>>> pa.concat_tables([t1,t2])
pyarrow.Table
n_legs: int64
animals: string
----
n_legs: [[2,4,5,100],[2,4]]
animals: [["Flamingo","Horse","Brittle stars","Centipede"],["Parrot","Dog"]]