在 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中文网其他相关文章!