首页  >  文章  >  后端开发  >  如何使用另一个数组的索引从二维数组中提取元素?

如何使用另一个数组的索引从二维数组中提取元素?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-09 11:40:021028浏览

How to Extract Elements from a 2D Array Using Indices from Another Array?

使用 NumPy 数组作为另一个数组第二维的索引

根据数组提供的索引从 2D 数组中提取特定元素第二个数组,您可以利用 NumPy 的整数数组

考虑这个例子:

A = np.array([[0,1], [2,3], [4,5]])
B = np.array([[1], [0], [1]], dtype='int')

要获得以下所需的输出:

C = np.array([[1], [2], [5]])

您可以使用以下方法:

A[np.arange(A.shape[0]),B.ravel()]

怎么样有效:

  • np.arange(A.shape[0]) 创建一个包含 A 每一行索引的数组。
  • B.ravel() 展平 B,删除任何附加维度。
  • 组合索引数组 [np.arange(A.shape[0]),B.ravel()] 指定要提取 A 中的行和列索引。

或者,如果 B 是一维数组或列索引列表,则可以使用 .ravel() 跳过展平:

A[np.arange(A.shape[0]),B]

此方法提供了一种使用从另一个数组派生的索引从 2D 数组中提取元素的简单方法。

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

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