Auswählen von Elementen basierend auf der Indexergänzung in Python-Pandas

Ich habe einen Datenrahmen, aus dem ich zwei Teilmengen-DFS auswähle.df_a unddf_b. Zum Beispiel iniris Datensatz:

df_a = iris[iris.Name == "Iris-setosa"]
df_b = iris[iris.Name == "Iris-virginica"]

Was ist der beste Weg, um alle Elemente von zu bekommeniris das sind weder indf_a noch indf_b? Ich beziehe mich lieber nicht auf die ursprünglichen Bedingungen, die definiert wurdendf_a unddf_b. Das nehme ich einfach andf_a unddf_b sind Teilmengen vonirisIch möchte also Elemente herauszieheniris basierend auf den Indizes vondf_a unddf_b. Grundsätzlich sei angenommen, dass:

df_a = get_a_subset(iris)
df_b = get_b_subset(iris)
# retrieve the subset of iris that 
# has all elements not in df_a or in df_b
# ...

BEARBEITEN: Hier ist eine Lösung, die ineffizient und inelegant scheint und ich bin sicher, Pandas hat einen besseren Weg:

# get subset of iris that is not in a nor in b
df_rest = iris[map(lambda x: (x not in df_a.index) & (x not in df_b.index), iris.index)]

Und noch eine zweite:

df_rest = iris.ix[iris.index - df_a.index - df_b.index]

wie geht das am effizientesten / elegantesten bei pandas? Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage