numpy: как назначить 1d массив путем фильтрации 2d массива? - PullRequest
0 голосов
/ 23 апреля 2020

Скажите, у меня есть следующий код:

import numpy as np

labels = np.array(["A", "B", "C"])

matrix = np.array([[True, False, False], [False, True, True], [False, False, True]])

Как я могу получить 2d массив с метками, где бы он был "True" в матрице? Возможно только с numpy операциями? Таким образом, желаемый результат:

[["A"], ["B", "C"], ["C"]]

1 Ответ

2 голосов
/ 23 апреля 2020

Используя понимание списка:

[labels[m].tolist() for m in matrix]

и я предполагаю, что по 2D-массиву вы имеете в виду:

np.array([labels[m].tolist() for m in matrix])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...