У меня есть два кадра данных, A и B, и я хочу получить их в A, но не в B, как в правом нижнем левом углу.
![The one below the top left](https://i.stack.imgur.com/pxUO3.png)
Кадр данных A имеет столбцы ['a','b' + others]
, а B имеет столбцы ['a','b' + others]
.Там нет значений NaN.Я попробовал следующее:
1.
dfm = dfA.merge(dfB, on=['a','b'])
dfe = dfA[(~dfA['a'].isin(dfm['a']) | (~dfA['b'].isin(dfm['b'])
2.
dfm = dfA.merge(dfB, on=['a','b'])
dfe = dfA[(~dfA['a'].isin(dfm['a']) & (~dfA['b'].isin(dfm['b'])
3.
dfe = dfA[(~dfA['a'].isin(dfB['a']) | (~dfA['b'].isin(dfB['b'])
4.
dfe = dfA[(~dfA['a'].isin(dfB['a']) & (~dfA['b'].isin(dfB['b'])
но когда я получаю len(dfm)
и len(dfe)
, они не суммируются до dfA
(это несколько цифр).Я пытался сделать это на фиктивных делах, и # 1 работает, поэтому, возможно, мой набор данных может иметь некоторые особенности, которые я не могу воспроизвести.
Какой правильный способ сделать это?