Entfernen von Elementen aus einem array in ein anderes array

Sagen, ich habe diese 2D-arrays A und B.

Wie kann ich das entfernen von Elementen aus A in B. (Komplement in der Mengenlehre: A-B)

A=np.asarray([[1,1,1], [1,1,2], [1,1,3], [1,1,4]])
B=np.asarray([[0,0,0], [1,0,2], [1,0,3], [1,0,4], [1,1,0], [1,1,1], [1,1,4]])
#output = [[1,1,2], [1,1,3]]

Um genauer zu sein, ich möchte so etwas wie dies tun.

data = some numpy array
label = some numpy array
A = np.argwhere(label==0) #[[1 1 1], [1 1 2], [1 1 3], [1 1 4]]
B = np.argwhere(data>1.5) #[[0 0 0], [1 0 2], [1 0 3], [1 0 4], [1 1 0], [1 1 1], [1 1 4]]
out = np.argwhere(label==0 and data>1.5) #[[1 1 2], [1 1 3]]
nicht == wird funktionieren, ich bin nur raten, ich weiß nicht viel über numpy arrays, aus meinem python-Konsole habe ich diese >>>[1,1,1]==[1,1,1] >>>True
Eine einfache, nicht-numpy Lösung - [i for i in A for j in B if i==j]

InformationsquelleAutor Jee Seok Yoon | 2016-10-15

Schreibe einen Kommentar