выбор элементов на основе набора индексов в пандах Python
У меня есть датафрейм, из которого я выбираю два поднабора DFS,df_a
а такжеdf_b
, Например вiris
Набор данных:
df_a = iris[iris.Name == "Iris-setosa"]
df_b = iris[iris.Name == "Iris-virginica"]
Каков наилучший способ получить все элементыiris
которые ни вdf_a
ни вdf_b
? Я предпочитаю не ссылаться на исходные условия, которые определеныdf_a
а такжеdf_b
, Я просто предполагаю, чтоdf_a
а такжеdf_b
подмножестваiris
так что я хотел бы вытащить элементы изiris
на основе показателейdf_a
а такжеdf_b
, В основном, предположим, что:
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
# ...
РЕДАКТИРОВАТЬ: вот решение, которое кажется неэффективным и не элегантным, и я уверен, что у панд есть лучший способ:
# 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)]
И второй:
df_rest = iris.ix[iris.index - df_a.index - df_b.index]
Как это можно сделать наиболее эффективно / элегантно в пандах? Благодарю.