Python 如何获取numpy.ndarray的集合补码?

Python 如何获取numpy.ndarray的集合补码?,python,arrays,numpy,Python,Arrays,Numpy,我有两个numpy图像数组 X.shape =(76,224,224,3) X_1.shape =(15,224,224,3) X_1中的15个图像也在X中。如何获得Z=X\X_1?式中,Z可能具有形状=(61224,3) 谢谢大家 X_1中的15个图像在X中 这不是意味着X吗∩X_1=X_1因为整个X_1包含在X中,所以您只需要Z=X-X_1 我想你应该调查一下 这可能(肯定)不是最快或最好的方法,但我通过观察 X=np.random.randint(255,size=(76224,3))

我有两个numpy图像数组

X.shape =(76,224,224,3)
X_1.shape =(15,224,224,3)
X_1中的15个图像也在X中。如何获得Z=X\X_1?式中,Z可能具有形状=(61224,3)

谢谢大家

X_1中的15个图像在X中

这不是意味着
X吗∩X_1=X_1
因为整个
X_1
包含在
X
中,所以您只需要
Z=X-X_1

我想你应该调查一下


这可能(肯定)不是最快或最好的方法,但我通过观察

X=np.random.randint(255,size=(76224,3)) >>>X_1=X[:15] >>>X.形状 (76, 224, 224, 3) >>>X_1.形状 (15, 224, 224, 3) >>>ind_to_del=np.unique((X[:,None]==X_1).all(-1).argmax(0)) >>>ind_to_del 数组([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]) >>>Z=np.delete(X,从ind到del,轴=0) >>>Z形 (61, 224, 224, 3) 所以你想

ind_to_del=np.unique((X[:,None]==X_1).all(-1).argmax(0))
Z=np.delete(X,从ind到del,轴=0)

这里的交叉点到底是什么意思?完全上下文匹配?我的意思是X_1包含在X中,所以我想得到X中的其余图像,而不是X_1中的图像。这不是我想要的。是的,我想做X-X_1,但当我做的时候会抛出这个错误。操作数无法与形状(76224,3)(15224224,3)一起广播什么是X\X_1?和X/X_1一样?好吧,我明白了,你是说赞美。对于numpy,我不能同时使用两个集合,因为:这是方法:并且只接受1d数组。