假设我有mxn阶的矩阵a和mx1的向量。我想用向量的元素作为每一行的偏移量,从矩阵A的每一行中提取元素。
例如
A = [[3, 0, 0, 8, 3],
[9, 3, 2, 2, 6],
[5, 5, 4, 2, 8],
[3, 8, 7, 1, 2],
[3, 9, 1, 5, 5]]
还有一个向量
y = [4,2,1,3,2]
我想要实现的是,我想要一种方法来提取a的元素,使得向量的每个元素都索引a的对应行中的一个元素,即实现
for i in xrange(y):
A[i,y[i]] = #perform operations here
不使用任何显式循环。
预期产量是
[3,2,5,1,1]
我正在使用Python和numpy库。
谢谢你的帮助!
首先应该将list
A
转换为NumPy数组:在那之后,没有什么能阻止你使用advanced indexing:
下面的代码遵循传统的python风格,但没有针对速度进行优化。试试看它是否适合您的用例。
相关问题 更多 >
编程相关推荐