【发布时间】:2021-02-02 15:06:45
【问题描述】:
假设我将一个简单的列数据框转换为一个 numpy 数组:
gdf.head()
>>>
rid rast
0 1 01000001000761C3ECF420013F0761C3ECF42001BF7172...
1 2 01000001000761C3ECF420013F0761C3ECF42001BF64BF...
2 3 01000001000761C3ECF420013F0761C3ECF42001BF560C...
3 4 01000001000761C3ECF420013F0761C3ECF42001BF7F25...
4 5 01000001000761C3ECF420013F0761C3ECF42001BF7172...
raster_np = gdf.to_numpy()
raster_np[0][0]
>>> array([1, '01000001000761C3E.........], dtype=object))
我的任务是将 numpy 数组转换为 Zarr 文件格式(因为 rast 值的大小和数据帧的大小,可能需要分块和压缩以及新的 .zarr 文件我认为可以在 S3/云存储环境中更好地利用)。我创建了一个简单的Zarr 数组,如下所示:
z_test = z.zeros(shape=(10000, 2), chunks=(10000, 2))
z_test
>>> <zarr.core.Array (10000, 2) float64>
现在,如何将raster_np 中的数据放入z_test 并保留Zarr 属性?简单地使用z_test = raster_np 显然是行不通的。也许我对Zarr 有一些误解。有什么建议吗?
【问题讨论】:
标签: arrays python-3.x numpy data-conversion zarr