6
私は2つのサブセットdfs、df_a
とdf_b
を選んだデータフレームを持っています。例えばiris
データセットで:Pythonのパンダのインデックスの補集合に基づいて要素を選ぶ
df_a = iris[iris.Name == "Iris-setosa"]
df_b = iris[iris.Name == "Iris-virginica"]
df_a
にもdf_b
でもないiris
のすべての要素を取得するための最良の方法は何ですか?私は、df_a
とdf_b
を定義した元の条件を参照しないことを好みます。私はちょうどdf_a
とdf_b
がiris
の部分集合であると仮定しているので、添え字df_a
とdf_b
に基づいてiris
から要素を引き出したいと思います。基本的には、それを前提としています
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
# ...
EDIT:ここで、非効率的で洗練思えるソリューションであり、私は確信してパンダだと、もっと良い方法があります。
# 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]
これはパンダでどのように最も効率的に/エレガントに行うことができますか?ありがとう。