删除二维数组中的特定值-Numpy

时间:2018-09-14 13:28:38

标签: python arrays numpy

import numpy as np

我有两个大小为n的数组(为简化起见,在本示例中使用n = 2):

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

B有两个维度,其中n次是一个随机整数:1、2或3。

假装:

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

从A减去B以获得C C = array([2,3],[1,2])的最有效方法是什么?

我尝试使用np.subtract,但是由于广播规则,我没有获得C。我不想使用掩码或索引,而不想使用元素的值。我也尝试使用np.deletenp.where而不成功。 谢谢。

1 个答案:

答案 0 :(得分:1)

这可能有效,并且应该是Python风格的

dd=[[val for val in A[i] if val not in B[i]] for i in xrange(len(A))]