2つのサブセットdfを選択するデータフレームが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)]
そして2つ目:
df_rest = iris.ix[iris.index - df_a.index - df_b.index]
パンダでこれを最も効率的/エレガントに行うにはどうすればよいですか?ありがとう。