python - 合并数据帧并仅保留不匹配的条目

标签 python pandas dataframe

我有两个数据框:

dfA = pd.DataFrame([['A', 'B', 'C', 'D'], ['A1', 'B1', 'C1', 'D1'], ['A2', 'B2', 'C2', 'D2'], ['A', 'B3', 'C3', 'D3'], ['A', 'B', 'C4', 'D5']], columns = ['AA', 'BB', 'CC', 'DD'])

       AA  BB  CC  DD
    0   A   B   C   D
    1  A1  B1  C1  D1
    2  A2  B2  C2  D2
    3   A  B3  C3  D3
    4   A   B  C4  D5

dfB = pd.DataFrame([['A', 'B'], ['A', 'B3']], columns = ['AA', 'BB'])

  AA  BB
0  A   B
1  A  B3

我想将它们合并到 ['AA', 'BB'] 列上,并且我只想保留不匹配的条目:

result = pd.DataFrame([['A1', 'B1', 'C1', 'D1'], ['A2', 'B2', 'C2', 'D2']], columns = ['AA', 'BB', 'CC', 'DD'])

   AA  BB  CC  DD
0  A1  B1  C1  D1
1  A2  B2  C2  D2

感谢您的帮助。

最佳答案

我认为您正在寻找这个,合并并删除具有合并索引的行。

dfA.drop(pd.merge(dfA,dfB,on=['AA','BB'],right_index=True).index)

输出:

   AA  BB  CC  DD
1  A1  B1  C1  D1
2  A2  B2  C2  D2

关于python - 合并数据帧并仅保留不匹配的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45904464/

相关文章:

python - 在 Python 中使用变量导入模块

python - python3.4中的QWebPage和pymongo在哪里可以找到?

python - 如何让python将 "YYYY W##"识别为日期时间对象,然后填充添加小于某一周的时间对象

python - 如何缩放直方图 Pandas 图的 y 轴?

python - 查找 CSV(数字)中的特定字段值并将其转换为文本值

python - Pandas groupby 按特定标签获取总行的百分比

javascript - 如何将 strip 自定义结帐 token 发布到 flask 后端

python - 描述符 'getter' 需要一个 'property' 对象,但收到一个 'function'

python - 条形图与散点图的颜色相同

python - 在 ", "上连接 3D pandas 数组中的值,使其成为 2D 数组