首页  >  文章  >  后端开发  >  如何使用另一个数组中的索引访问 NumPy 中的数组元素?

如何使用另一个数组中的索引访问 NumPy 中的数组元素?

Susan Sarandon
Susan Sarandon原创
2024-11-11 02:03:02669浏览

How to Access Array Elements in NumPy Using Indices from Another Array?

在 NumPy 中使用数组索引访问数组元素

NumPy 的索引函数提供了强大的数据操作技术,包括从一个数组中选择元素的能力使用另一个数组指定的索引。要实现此目的:

方法 1:使用高级索引

A[np.arange(A.shape[0])[:,None] ,B]<br>

此代码利用高级索引,其中np.arange(A.shape[0])[:,None] 创建一个列向量,其中包含 A 中每一行的索引。将其与 B 组合可以沿行和列对 A 进行索引。

方法 2:线性索引

m,n = A.shape<br>np.take(A,B n*np.arange(m)[:,None])<br>

这种方法利用线性索引,其中每个元素A 中由单个索引寻址。它首先通过将 B 中的相应行添加到使用 np.arange 生成的线性序列来计算线性索引。然后使用该线性索引从 A 中检索元素。

示例用法:

给定矩阵 A:

array([[ 2, 4, 5, 3],
       [ 1, 6, 8, 9],
       [ 8, 7, 0, 2]])

和索引矩阵 B :

array([[0, 0, 1, 2],
       [0, 3, 2, 1],
       [3, 2, 1, 0]])

应用这些方法会产生所需的结果结果:

array([[2, 2, 4, 5],
       [1, 9, 8, 6],
       [2, 0, 7, 8]])

以上是如何使用另一个数组中的索引访问 NumPy 中的数组元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn