pyarrow中的嵌套词典

2024-06-01 01:25:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试测试pyarrow,在将嵌套字典转换为表时遇到了问题。当我运行此代码时:

import pyarrow as pa

a = {'a':{'b':[1,2,3], 'c':[3,2,1], 'd':[2,3,1]}}
schema = pa.schema([pa.field('a', pa.struct([pa.field('b', pa.int32()), pa.field('c', pa.int32()), pa.field('d', pa.int32())]))])

pa_a = pa.Table.from_pydict(a, schema)

我回来了pyarrow.lib.ArrowTypeError: Could not convert b with type str: was expecting tuple of (key, value) pair

这看起来很奇怪,如果模式无效,是否应该抱怨,或者我在这里遗漏了什么?没有办法转换嵌套字典吗


Tags: 代码fromimportfield字典schemalibas
1条回答
网友
1楼 · 发布于 2024-06-01 01:25:33

如果所有列值都位于数组bcd中,则只需执行以下操作:

pa_a = pa.Table.from_pydict(
    a['a'],
    pa.schema([
        pa.field('b', pa.int32()),
        pa.field('c', pa.int32()),
        pa.field('d', pa.int32()),
    ]),
)

print(pa_a)
#    b  c  d
# 0  1  3  2
# 1  2  2  3
# 2  3  1  1

相关问题 更多 >