数字矩阵:根据列表选择列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字矩阵:根据列表选择列相关的知识,希望对你有一定的参考价值。
我有一个numpy数组和一个列表,该列表定义了我要选择的行。进行此操作的最佳方法是什么?
import numpy as np
a = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
b = np.array([[1],
[0],
[2]])
所需结果
np.array([[2],
[4],
[9]])
我已经尝试过np.take(),但这不起作用。
亲切的问候
编辑:由于需要在大型数组上重复进行此操作,因此我正在寻找一种矢量化方法(无循环)
答案
不是很pythonic,但这应该可以解决您的问题:
res = np.zeros(len(b))
for i, row in enumerate(a):
res[i] = row[b[i]]
print(res)
以上是关于数字矩阵:根据列表选择列的主要内容,如果未能解决你的问题,请参考以下文章
根据在 Spinner 中选择的数字,相同的片段应该出现在另一个之下。如何?