如何解决如何在不编写新商店的情况下重命名 Zarr 数组?
我有一个 Zarr 数据存储,但我需要重命名其中一个维度。假设我有这个 (from xarray docs):
data = np.random.rand(4,3)
locs = ["IA","IL","IN"]
times = pd.date_range("2000-01-01",periods=4)
da = xr.DataArray(data,coords=[times,locs],dims=["time","space"])
ds = xr.Dataset({'my_var': da})
ds.to_zarr("my_zarr.zarr")
但我希望我的 space
维度实际上被称为 state
。
我该怎么做? (我找到了一种 hacky 方法 - 见下文)
解决方法
我的hacky解决方案是手动重命名它们:
- 重命名目录
cd my_zarr.zarr
mv space state
- 手动重命名相关
.zattts
文件中的维度:
老my_zarr.zarr/my_var/.zattrs
{
"_ARRAY_DIMENSIONS": [
"time","space"
]
}
老my_zarr.zarr/state/.zattrs
{
"_ARRAY_DIMENSIONS": [
"space"
]
}
新my_zarr.zarr/my_var/.zattrs
{
"_ARRAY_DIMENSIONS": [
"time","state"
]
}
新my_zarr.zarr/state/.zattrs
{
"_ARRAY_DIMENSIONS": [
"state"
]
}
但这太难了,我不喜欢它的手动方式。它胜过编写一个全新的 zarr 商店,但有没有更好的方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。