pyarrow 添加列到 pyarrow table
pyarrow add column to pyarrow table
我有一个形状为 6132 的 pyarrow table 名称 final_table,7 我想向其中添加列 table
list_ = ['IT'] * 6132
final_table.append_column('COUNTRY_ID', list_)
但我收到以下错误 ArrowInvalid:添加的列的长度必须与 table 的长度匹配。预期长度 6132 但实际长度为 12264
根据 documentation:
Append column at end of columns.
Parameters
field (str or Field) – If a string is passed then the type is deduced from the column data.
column (Array, list of Array, or values coercible to arrays) – Column data.
Returns
pyarrow.Table – New table with the passed column added.
我认为 pyarrow 假设您提供 list of Array
。为避免混淆,您应该传递一个箭头数组
col_a = pa.array([1, 2, 3], pa.int32())
col_b = pa.array(["X", "Y", "Z"], pa.string())
table = pa.Table.from_arrays(
[col_a, col_b],
schema=pa.schema([
pa.field('a', col_a.type),
pa.field('b', col_b.type),
])
)
table.append_column('COUNTRY_ID', pa.array(['IT'] * len(table), pa.string()))
我有一个形状为 6132 的 pyarrow table 名称 final_table,7 我想向其中添加列 table
list_ = ['IT'] * 6132
final_table.append_column('COUNTRY_ID', list_)
但我收到以下错误 ArrowInvalid:添加的列的长度必须与 table 的长度匹配。预期长度 6132 但实际长度为 12264
根据 documentation:
Append column at end of columns.
Parameters
field (str or Field) – If a string is passed then the type is deduced from the column data.
column (Array, list of Array, or values coercible to arrays) – Column data.
Returns
pyarrow.Table – New table with the passed column added.
我认为 pyarrow 假设您提供 list of Array
。为避免混淆,您应该传递一个箭头数组
col_a = pa.array([1, 2, 3], pa.int32())
col_b = pa.array(["X", "Y", "Z"], pa.string())
table = pa.Table.from_arrays(
[col_a, col_b],
schema=pa.schema([
pa.field('a', col_a.type),
pa.field('b', col_b.type),
])
)
table.append_column('COUNTRY_ID', pa.array(['IT'] * len(table), pa.string()))