首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用列表中的值作为索引值创建新的多维数组

使用列表中的值作为索引值创建新的多维数组
EN

Stack Overflow用户
提问于 2021-11-02 03:52:34
回答 1查看 44关注 0票数 0

我这里有一个数组

代码语言:javascript
复制
A = np.array([[1,2,3],
              [4,5,6],
              [7,8,9]])

和另一个表示A中的列索引值的数组

代码语言:javascript
复制
Cols,rows = np.array([[0,1],[1,2]])

然后,我想使用这些列值对数组A进行索引,以得到一个如下所示的数组

代码语言:javascript
复制
Cols_result = [[[1,2],[4,5],[7,8]],
               [[2,3],[5,6],[8,9]]]

Row_results = [[[1,2,3],[4,5,6]],
               [[4,5,6],[7,8,9]]]

我尝试使用np.take(),但只能让它正确地为行值而不是列值建立索引

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-02 04:02:04

numpy.swapaxes中使用numpy.take的一种方法

代码语言:javascript
复制
A = np.array([[1,2,3],[4,5,6],[7,8,9]])
ind = np.array([[0,1],[1,2]])

行的输出:

代码语言:javascript
复制
np.take(A, ind, 0)

array([[[1, 2, 3],
        [4, 5, 6]],

       [[4, 5, 6],
        [7, 8, 9]]])

列的输出:

代码语言:javascript
复制
np.swapaxes(np.take(A, ind, 1), 0, 1)

array([[[1, 2],
        [4, 5],
        [7, 8]],

       [[2, 3],
        [5, 6],
        [8, 9]]])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69805217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档