python - 如何根据存储在另一个数组中的索引创建一个 NumPy 数组?
问题描述
假设我有这个 NumPY 数组
A =
array([[0, 1, 3],
[1, 2, 4]])
我有另一个数组
B =
array([[10, 41, 26, 50, 12, 24],
[20, 15, 42, 40, 41, 62]])
我想创建另一个数组,它使用 A 中列的索引选择 B 中的元素。那是
C =
array([[10, 41, 50],
[15, 42, 41]])
解决方案
尝试:
B[[[0],[1]], A]
或更一般地说:
B[np.arange(A.shape[0])[:,None], A]
输出:
array([[10, 41, 50],
[15, 42, 41]])
推荐阅读
- java - Android 应用:另一个 youtube 网址不加载视频
- javascript - 从 Javascript 调用 Google Cloud analyzeSyntax 时出错
- jquery - Jquery验证方法字母,数字和特殊字符
- sql - 获取不同子组中同一组的下一条记录
- sql-server - 无法在 SQL Server 中绑定多部分标识符
- python - 在“for in”循环中访问迭代器
- java - Spring WebFlux WebClient timeout() 和 exchange()
- php - Dingo Api 在 RouteServiceProvider 中注册
- java - 返回列表
对于通用类型 T - android - 为什么我们要在 Android 中扩展应用程序类