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.delete
,np.where
而不成功。
谢谢。
答案 0 :(得分:1)
这可能有效,并且应该是Python风格的
dd=[[val for val in A[i] if val not in B[i]] for i in xrange(len(A))]