使用容器(例如元组或列表)进行Numpy切片

2024-09-28 05:23:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将一个nDnumpy.ndarray切片。为了简单起见,假设它是3D(但实际上它可能是4D5D,等等),并且由nxnynz维度组成

我想使用容器(例如元组或列表)来选择nynz,提取给定点nynz的所有nx

例如:

假设我有一个维度为:(46841128,20)的3DarrayX,我有一个container = (127,11)

理想的解决方案:

x_selected = X[:,container]

其中x_selected应该有维度(46841,)


Tags: 列表container切片解决方案容器定点元组ndarray
2条回答

您只需使用以下功能:

x_selected=X[:,container[0],container[1]]

我试过这个:

A=np.zeros((3,5,7))
A[1,2,:].shape

我得到(7,)作为输出

x_selected = X[(slice(None),) + container]

因此,您可以使用包含slice和整数混合的任何元组对X数组进行索引slice只是一个纯python对象described here。此用于索引的元组的元素不应超过X数组的维度

相关问题 更多 >

    热门问题