我有一个包含 NaN 的大型 xarray DataArray 并想用 zarr 保存它。我想最小化文件大小,并且可以丢失一些精度 - 16 位应该可以。我尝试使用numcodecs.FixedScaleOffset(astype='u2')
过滤器,但这会将所有 NaN 存储为零。由于数据还包含零作为有效值,因此这不是很有帮助。
问问题
315 次
2 回答
0
它不适用于numcodecs.Quantize
,但 xarrayencoding
参数可以指定_FillValue
:
dataset.to_zarr(store, encoding={'<array-name>': {'dtype': 'uint16', '_FillValue': 65535}})
见https://xarray.pydata.org/en/stable/io.html#writing-encoded-data
于 2019-07-22T15:57:32.593 回答
0
NumPy 的u2
(又名uint16
)不支持 NaN 值(请这个SO answer)。Zarr 只是反映了 NumPy 的行为。
于 2019-04-19T04:11:36.207 回答