如何减少/删除一个奇怪的数组

时间:2019-11-07 09:46:31

标签: zarr

我有一个简单的对象数组(例如长度1000)。我想用精简版替换它,只选择项的子集,这是使用大小为1000的布尔数组指定的。我想保持其他所有内容相同(例如,如果该数组是持久数组,我想更改磁盘以及内存上的阵列)。我不能简单地重新分配数组:

my_zarr_data = my_zarr_data[:][selected_items]

因为这样我得到错误ValueError: missing object_codec for object array。另一种选择是制作副本,删除所有数据,然后使用append()从原始数据添加回去,但是我看不到如何清除一个奇怪的数组,同时保持object_codec和其他参数相同(也许我可以做resize(0)?)。目前,我将大小调整为sum(selected_items),然后使用my_zarr_data.set_basic_selection(..., my_zarr_data[:][selected_items])。那正确吗?有没有更有效的方法来永久性地重新分配数组以(例如)从get_mask_selection()返回值?

0 个答案:

没有答案