当前位置: 代码迷 >> python >> 使用 ndarray 以与使用元组相同的方式进行索引
  详细解决方案

使用 ndarray 以与使用元组相同的方式进行索引

热度:115   发布时间:2023-07-14 08:45:43.0

我想使用大小为 2 的一1d-array来索引我的2d-array 1d-array ,就像使用元组或基本索引一样。 为了方便操作,我将索引作为np.ndarrays ,但目前我正在将它们来回转换为元组。

a = np.zeros((5, 5))
ix = np.array([3, 2])

>>> a[3, 2]
0.0
>>> a[(3, 2)]
0.0
>>> a[ix]
array([[0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0.]])

我已经尝试通过多种方式对数组进行整形,例如形状(2, 1)(1, 2) ,但没有运气。 也无法从找到条目。

有办法吗?

ix作为用于索引的元组传递,而不是数组/列表,因为后者将指定行的选择,而不是单个单元格。

所以a[tuple(ix)]a[(*ix,)]都可以。

  相关解决方案