Wie konvertiert man ein Python-Set in ein numpy Array?

Ich bin mit einem set-Vorgangs in python zum ausführen einer symmetrischen Differenz zwischen zwei numpy-arrays. Das Ergebnis jedoch ist ein Satz und ich brauche, um es zu konvertieren zurück in ein numpy-array, um vorwärts zu bewegen. Gibt es eine Möglichkeit, dies zu tun? Hier ist, was ich versucht habe:

a = numpy.array([1,2,3,4,5,6])
b = numpy.array([2,3,5])
c = set(a) ^ set(b)

Das Ergebnis ist ein set:

In [27]: c
Out[27]: set([1, 4, 6])

Wenn ich konvertieren in ein numpy-array, es legt die gesamte Reihe in das erste array-element.

In [28]: numpy.array(c)
Out[28]: array(set([1, 4, 6]), dtype=object)

Was ich brauche, allerdings wäre diese:

array([1,4,6],dtype=int)

Könnte ich die Schleife über die Elemente zu konvertieren eins nach dem anderen, aber ich werde mit 100.000 Elementen und hoffte auf eine integrierte Funktion, um speichern Sie die Schleife. Danke!

InformationsquelleAutor der Frage mishaF | 2011-12-11

Schreibe einen Kommentar