如何使用另一个保存索引的numpy数组索引numpy数组?

2024-03-28 16:28:16 发布

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

这应该是一个简单的任务,但我很惭愧地承认我被卡住了。在

我有一个numpy数组,名为X

X.shape(10,3),它看起来像

[[  0.   0.  13.  ]
 [  0.   0.   1.  ]
 [  0.   4.  16.  ]
 ..., 
 [  0.   0.   4.  ]
 [  0.   0.   2.  ]
 [  0.   0.   4.  ]]

我想使用另一个numpy数组中的索引选择这个数组的1、2和3行,称为idx

idx.shape(3,),看起来像{}

当我尝试
new_array = X[idx]或其变体, 我有错误。在

如何使用另一个保存索引的numpy数组索引numpy数组?在

提前为这样一个基本问题道歉。在


Tags: numpynew错误数组变体arrayshapeidx
1条回答
网友
1楼 · 发布于 2024-03-28 16:28:16

我是这样做的:

>>> import numpy as np
>>> x = np.arange(30).reshape((10, 3))
>>> x
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11],
       [12, 13, 14],
       [15, 16, 17],
       [18, 19, 20],
       [21, 22, 23],
       [24, 25, 26],
       [27, 28, 29]])
>>> idx = np.array([1,2,3])
>>> x[idx, ...]
array([[ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])

请注意,在这种情况下,省略号可以替换为一个简单的切片,如果您愿意:

^{pr2}$

相关问题 更多 >