numpy - выбрать несколько элементов из каждой строки массива - PullRequest
0 голосов
/ 10 июня 2018

Мне нужно выбрать несколько разных значений в каждой строке 2D-массива.

A = np.array([[ 1, 2, 3, 4],
              [ 5, 6, 7, 8],
              [ 9,10,11,12])
A[something]

>>> np.array([[ 1, 2],
              [ 6, 7],
              [11,12]])

Я знаю, что могу создать логический массив такой же формы, как A, и установить каждый элемент в цикле for, ноЯ надеюсь найти лучшее решение.

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете попробовать следующее:

import numpy as np
A = np.array([[ 1, 2, 3, 4],
              [ 5, 6, 7, 8],
              [ 9,10,11,12]])
i = [[0],[1],[2]]
j = [[0,1], [1,2],[2,3]]
B = A[i,j]
print(B)
#Prints
[[ 1  2]
 [ 6  7]
 [11 12]]

Example run

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