我正在尝试切片nDnumpy.ndarray
。为了简单起见,假设它是3D(但实际上它可能是4D、5D等(,并且由nx
、ny
、nz
维度组成。
我想提取给定点ny
、nz
的所有nx
行,使用容器(例如元组或列表(来选择ny
和nz
。
示例:
假设我有一个3D数组X
,维度为:(46841212820(,并且我有container = (127,11)
所需解决方案:
x_selected = X[:,container]
其中x_selected
应当具有尺寸(46841,(
x_selected = X[(slice(None),) + container]
因此,您可以使用任何包含slice
s和整数混合物的元组为X
数组编制索引。slice
只是这里描述的一个纯python对象。此用于索引的元组的元素数不应超过X
数组的维度。
您可以使用以下内容:
x_selected=X[:,container[0],container[1]]
我试过这个:
A=np.zeros((3,5,7))
A[1,2,:].shape
我得到(7,(作为输出