Сравните два массива в Numpy - PullRequest
0 голосов
/ 25 мая 2019

После сравнения между массивом total= np.full((3,3),[0, 1, 2]) и массивом a = np.array([1],[0],[1]), я ищу, чтобы получить new_array:

array([[0, 2],
       [1, 2],
       [0, 2]])

Ответы [ 2 ]

1 голос
/ 25 мая 2019

Вы можете использовать понимание списка и np.delete:

import numpy as np

total= np.full((3,3),[0, 1, 2])
a = np.array([[1],[0],[1]])

new_array = np.array([np.delete(l, i) for l,i in zip(total,a)])

результат

array([[0, 2],
       [1, 2],
       [0, 2]])
0 голосов
/ 25 мая 2019

Можно применить маску и изменить форму:

import numpy as np

total= np.full((3,3),[0, 1, 2])
a = np.array([[1],[0],[1]])

a = np.repeat(a, 3, axis=1)
new_total = total[total!=a].reshape(3, 2)

>>> print(new_total)
[[0 2]
 [1 2]
 [0 2]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...