我希望实现的目标:
我想从numpy数组中选择(基于另一个数组)一列或另一个
可复制的示例
我有以下数组
a = np.array([["a", "b"],
["a", "b"],
["a", "b"],
["a", "b"]])
我希望使用以下条件进行选择:
select = [0, 1, 0, 1]
我希望得到的东西:
np.array(["A",
"B",
"A",
"B"])
NB
NB 1:我知道我可以使用for循环来做到这一点,但是它并不是很有效,所以我正在寻找更好的答案。
NB 2:我想这很简单,但我似乎对google并没有正确的关键词:/
NB 3:这是一个简单的示例,在理想情况下,该解决方案适用于任意数量的列和任意尺寸(例如,在n轴上的选择)
谢谢
感谢任何帮助/指针
答案 0 :(得分:0)
您可以使用此功能,我想:
result = np.array([a[idx][selectElem] for idx, selectElem in enumerate(select)])
这称为列表理解。