熊猫中的“反合并”(Python)

熊猫中的“反合并”(Python),第1张

熊猫中的“反合并”(Python)

如果将合并类型更改为

how='outer'
indicator=True
这将添加一列以告诉您这些值是否仅是左/左右/右:

In [2]:A = pd.Dataframe({'x':np.arange(5)})B = pd.Dataframe({'x':np.arange(3,8)})print(A)print(B)   x0  01  12  23  34  4   x0  31  42  53  64  7In [3]:pd.merge(A,B, how='outer', indicator=True)Out[3]:     x      _merge0  0.0   left_only1  1.0   left_only2  2.0   left_only3  3.0        both4  4.0        both5  5.0  right_only6  6.0  right_only7  7.0  right_only

然后,您可以在

_merge
col上过滤结果合并的df :

In [4]:merged = pd.merge(A,B, how='outer', indicator=True)merged[merged['_merge'] == 'left_only']Out[4]:     x     _merge0  0.0  left_only1  1.0  left_only2  2.0  left_only

您也可以使用

isin
否定掩码以查找不在B中的值:

In [5]:A[~A['x'].isin(B['x'])]Out[5]:   x0  01  12  2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5645011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存