小编d.a*_*rcy的帖子

如何将任意元数据分配给 pyarrow.Table / Parquet 列

用例

我正在使用 Apache Parquet 文件作为我在 Python 中使用 GeoPandas 处理大型空间数据的快速 IO 格式。我将要素几何存储为 WKB,并希望将坐标参考系统 (CRS) 记录为与 WKB 数据关联的元数据。

代码问题

我正在尝试将任意元数据分配给一个pyarrow.Field对象。

我试过的

假设tablepyarrow.Tabledf, a的实例化pandas.DataFrame

df = pd.DataFrame({
        'foo' : [1, 3, 2],
        'bar' : [6, 4, 5]
        })

table = pa.Table.from_pandas(df)
Run Code Online (Sandbox Code Playgroud)

根据pyarrow文档,列元数据包含在field属于schema( source ) 的 a 中,并且可选的元数据可以添加到field( source ) 中。

如果我尝试为该metadata属性赋值,则会引发错误:

>>> table.schema.field_by_name('foo').metadata = {'crs' : '4283'}
AttributeError: attribute 'metadata' of 'pyarrow.lib.Field' objects …
Run Code Online (Sandbox Code Playgroud)

python gis pandas parquet pyarrow

7
推荐指数
1
解决办法
2466
查看次数

标签 统计

gis ×1

pandas ×1

parquet ×1

pyarrow ×1

python ×1