【发布时间】:2020-11-20 05:23:09
【问题描述】:
我想生成一个指向磁盘上 zarr 数组的 part 的 zarr 数组,类似于 sliced = np_arr[5] 如何让我看到 np_arr,这样可以修改 @ 中的数据987654323@修改np_arr中的数据。示例代码:
import matplotlib.pyplot as plt
import numpy as np
import zarr
arr = zarr.open(
'temp.zarr',
mode='a',
shape=(4, 32, 32),
chunks=(1, 16, 16),
dtype=np.float32,
)
arr[:] = np.random.random((4, 32, 32))
fig, ax = plt.subplots(1, 2)
arr[2, ...] = 0 # works fine, "wipes" slice 2
ax[0].imshow(arr[2]) # all 0s
arr_slice = arr[1] # returns a NumPy array — loses ties to zarr on disk
arr_slice[:] = 0
ax[1].imshow(arr[1]) # no surprises — shows original random data
plt.show()
我可以写什么来代替arr_slice = arr[1] 使arr_slice 成为磁盘上arr 数组的(可写)视图?
【问题讨论】: