如何选择一列或另一列

时间:2019-02-22 13:42:18

标签: python numpy

我希望实现的目标:

我想从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轴上的选择)

谢谢

感谢任何帮助/指针

1 个答案:

答案 0 :(得分:0)

您可以使用此功能,我想:

result = np.array([a[idx][selectElem] for idx, selectElem in enumerate(select)])

这称为列表理解。