Escoger elementos basados ​​en el complemento de índices en pandas Python

Tengo un marco de datos en el que selecciono dos subconjuntos dfs,df_a ydf_b. Por ejemplo eniris conjunto de datos

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

¿Cuál es la mejor manera de obtener todos los elementos deiris que tampoco están endf_a ni endf_b? Prefiero no referirme a las condiciones originales que definen.df_a ydf_b. Solo asumo quedf_a ydf_b son subconjuntos deiris, así que me gustaría sacar elementos deiris basado en los índices dedf_a ydf_b. Básicamente, asuma que:

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
# ...

EDITAR: Aquí hay una solución que parece ineficiente y poco elegante, y estoy seguro de que los pandas tienen una mejor manera:

# 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)]

Y una segunda:

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

¿Cómo se puede hacer esto de manera más eficiente / elegante en los pandas? Gracias.