Удалить определенные значения в 2-мерном массиве - Numpy - PullRequest
0 голосов
/ 14 сентября 2018
import numpy as np

У меня есть два массива размера n (для упрощения я использую в этом примере n = 2):

A = array([[1,2,3],[1,2,3]])

B имеет два измерения с n случайным целым числом: 1, 2 или 3.

Давайте представим:

B = array([[1],[3]])

Какой самый питонный способ вычесть B из A, чтобы получить C, C = array([2,3],[1,2])?

Я пытался использовать np.subtract, но из-за правил вещания я не получаю C. Я не хочу использовать маску или индексы, а только значения элемента. Я также пытался использовать np.delete, np.where безуспешно. Спасибо.

1 Ответ

0 голосов
/ 14 сентября 2018

Это может работать и должно быть довольно Pythonic:

dd=[[val for val in A[i] if val not in B[i]] for i in xrange(len(A))]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...