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_pool
MemoryPool, 默认None 用于内存分配(如果需要),否则使用默认内存池。
- promote_options
str,默认为none 接受字符串“none”、“default”和“permissive”。
- **kwargs
dict, 可选
- tables可迭代对象 of
示例
>>> 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"]]