После сравнения между массивом total= np.full((3,3),[0, 1, 2]) и массивом a = np.array([1],[0],[1]), я ищу, чтобы получить new_array:
total= np.full((3,3),[0, 1, 2])
a = np.array([1],[0],[1])
new_array
array([[0, 2], [1, 2], [0, 2]])
Вы можете использовать понимание списка и np.delete:
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)])
результат
Можно применить маску и изменить форму:
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]]