Skip to main content
 首页 » 编程设计

Python之通过索引矩阵构造矩阵

2025年05月04日31qq号

假设我有一个数组,我想通过索引矩阵从该数组中得到一个矩阵。

import numpy as np 
arr = np.array([1,5]) 
mtxidx = np.array([[0,1,0],[0,1,1],[0,0,0]]) 

如何获得矩阵 [[1,5,1],[1,5,5],[1,1,1]] ?

最初的想法就是说

arr(mtxidx) 

然而它不起作用

有没有什么函数/方法可以优雅地做到这一点?

请您参考如下方法:

"Fancy" indexing对我有用(请注意,在你的问题中,你正在尝试调用数组对象(圆括号),但 NumPy“ndarray”对象不可调用):

In [61]: arr[mtxidx] 
Out[61]:  
array([[1, 5, 1], 
       [1, 5, 5], 
       [1, 1, 1]])