Как выбрать один или другой столбец - PullRequest
0 голосов
/ 22 февраля 2019

Чего я хочу достичь:

Я ищу альтернативно (на основе другого массива) столбец или другой из массива 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 голосов
/ 22 февраля 2019

Вы можете использовать это, я думаю:

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

Это называется пониманием списка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...