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

Mary-Kate Olsen
发布: 2024-11-09 11:40:02
原创
1030 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板