Python 为什么当我尝试以与切割Numpy数组完全相同的方式切割Zarr数组时会出现此错误?

Python 为什么当我尝试以与切割Numpy数组完全相同的方式切割Zarr数组时会出现此错误?,python,numpy,zarr,Python,Numpy,Zarr,我正在使用以下代码从磁盘切片Zarr阵列: import zarr as zr db = zr.open('/content/drive/My Drive/Share/Daily Data/Database/dbz.zarr', mode='r') data = db[db[:,0]==20171003] 以下是错误: IndexError Traceback (most recent call last) <ipython

我正在使用以下代码从磁盘切片Zarr阵列:

import zarr as zr

db = zr.open('/content/drive/My Drive/Share/Daily Data/Database/dbz.zarr', mode='r')
data = db[db[:,0]==20171003]
以下是错误:

IndexError                                Traceback (most recent call last)
<ipython-input-16-4ae364a8c3b1> in <module>()
      1 dbz_ranked = zr.open('/content/drive/My Drive/Share/Daily Data/Database/dbz_ranked.zarr', mode='w', shape=(8245164, 345),chunks=(100000, 345), dtype='float64')
----> 2   data = db[db[:,0]==20171003]


3 frames
/usr/local/lib/python3.6/dist-packages/zarr/indexing.py in __init__(self, selection, array)
    280                 raise IndexError('unsupported selection item for basic indexing; '
    281                                  'expected integer or slice, got {!r}'
--> 282                                  .format(type(dim_sel)))
    283 
    284             dim_indexers.append(dim_indexer)

IndexError: unsupported selection item for basic indexing; expected integer or slice, got <class 'numpy.ndarray'>
索引器错误回溯(最近一次调用)
在()
1 dbz_ranked=zr.open('/content/drive/My drive/Share/Daily Data/Database/dbz_ranked.zarr',mode='w',shape=(8245164345),chunks=(100000,345),dtype='float64')
---->2数据=db[db[:,0]==20171003]
3帧
/usr/local/lib/python3.6/dist-packages/zarr/indexing.py in_________(self,selection,array)
280 raise IndexError('基本索引不支持的选择项;'
281'需要整数或片,得到{!r}'
-->282.格式(类型(尺寸选择)))
283
284个尺寸索引器。追加(尺寸索引器)
索引器:基本索引不支持的选择项;应为整数或切片,已获取

我不知道为什么这不起作用,我以为Zarr应该像Numpy数组一样切片?

“我以为Zarr应该像Numpy数组一样切片?”-错误消息和两者都说没有。我已经试过了,仍然无法理解,你知道吗?
db[db[:,0]==20171003]
涉及
db[:0]
的切片,但是
db[]
不是切片,它被认为是“高级”索引,这显然不受
zarray
的支持。。。看起来你需要使用
get\u mask\u selection
我已经使用了get\u mask\u selection,但它返回的是原始形状。。。你知道我怎样才能保持原来的形状吗?“我以为Zarr应该像Numpy数组一样切片?”-错误消息和两者都说不。我已经尝试过了,仍然无法理解,你有什么想法吗?
db[db[:,0]==20171003]
涉及
db[:0]
的切片,但是
db[]
不是切片,它被认为是“高级”索引,显然zarray不支持它。。。看起来你需要使用
get\u mask\u selection
我已经使用了get\u mask\u selection,但它返回的是原始形状。。。你知道我怎样才能保持原来的形状吗?