查找两个数据框之间的差异

2023-12-10

我有两个数据框 df1 和 df2,其中 df2 是 df1 的子集。如何获得一个新的数据框(df3),它是两个数据框之间的差异?

换句话说,一个数据框包含 df1 中不在 df2 中的所有行/列?

enter image description here


通过使用drop_duplicates

pd.concat([df1,df2]).drop_duplicates(keep=False)

Update :

The above method only works for those data frames that don't already have duplicates themselves. For example:

df1=pd.DataFrame({'A':[1,2,3,3],'B':[2,3,4,4]})
df2=pd.DataFrame({'A':[1],'B':[2]})

它将输出如下所示,这是错误的

错误的输出:

pd.concat([df1, df2]).drop_duplicates(keep=False)
Out[655]: 
   A  B
1  2  3

正确输出

Out[656]: 
   A  B
1  2  3
2  3  4
3  3  4

如何实现这一目标?

方法一:使用isin with tuple

df1[~df1.apply(tuple,1).isin(df2.apply(tuple,1))]
Out[657]: 
   A  B
1  2  3
2  3  4
3  3  4

方法二:merge with indicator

df1.merge(df2,indicator = True, how='left').loc[lambda x : x['_merge']!='both']
Out[421]: 
   A  B     _merge
1  2  3  left_only
2  3  4  left_only
3  3  4  left_only
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找两个数据框之间的差异 的相关文章

  • Python Flask 删除请求

    我正在开发一个 Python 应用程序并使用 Flask 这是我的 DELETE 函数 app route DeleteMessage methods DELETE def DeleteMessage messages Message qu
  • 查找数据集中的异常值

    我有一个 python 脚本 它创建服务器正常运行时间和性能数据列表的列表 其中每个子列表 或 行 包含特定集群的统计信息 例如 格式良好的它看起来像这样 Cluster Availability Requests Sec Errors S
  • 使用不带引号的块样式的 Python YAML 转储

    如何使用 PyYAML 加载和转储 YAML 以便它尽可能地使用原始样式 我有 Python 来加载和转储 YAML 数据 例如 import sys import yaml def represent dictorder self dat
  • 如何在嵌套列表中查找给定元素?

    这是我的迭代解决方案 def exists key arg if not arg return False else for element in arg if isinstance element list for i in elemen
  • 从 java 代码运行 Python 脚本

    这是我第一次在java中尝试python 我正在尝试从我的代码执行 python 脚本 如下所示 Process process Runtime getRuntime exec python C Users username Desktop
  • 如果每个元组中的第二项重复,如何从元组列表中删除元素?

    如果每个元组中的第二项重复 如何从元组列表中删除元素 例如 我有一个按第一个元素排序的列表 如下所示 alist 0 7897897 this is a foo bar sentence 0 653234 this is a foo bar
  • 映射 2 个数据帧并替换目标数据帧中匹配值的标头

    我有一个数据框 df1 SAP Name SAP Class SAP Sec Avi 5 C Rison 6 A Slesh 7 B San 8 C Sud 7 B df2 Name Fi Class Avi 5 Rison 6 Slesh
  • Python 中没有名称属性的表单提交

    背景 在Python中使用urllib和urllib2 您可以进行表单提交 您首先创建一个字典 formdictionary search stackoverflow 然后使用 urllib 的 urlencode 方法来转换这个字典 pa
  • 如何在 Google App Engine (Python) 中定义配置变量/常量?

    我是 python GAE 的新手 想知道如何快速定义和使用全局设置变量 所以说你 git 克隆我的 GAE 应用程序 然后打开config yaml 添加更改设置 应用程序就全部连接起来 如下所示 config yaml or whate
  • 如何在我的 GUI 上绘图

    我正在设计一个 GUIPyQt当我单击一个按钮来绘制我创建的函数的数据图时 我需要显示一个 matplotlib pylab 窗口 它就像 Matlab 中使用的运行时 每次按下该按钮时 我都想将 matplotlib pylab 窗口保留
  • Python父类访问子私有变量

    以下代码会生成错误 class A object def say something self print self foo print self bar class B A def init self self foo hello sel
  • 识别文本中的多个类别和相关情感

    如果您有一个文本语料库 如何识别所有类别 来自预定义类别列表 以及与之相关的情绪 正面 负面写作 我将在 Python 中执行此操作 但现阶段我不一定要寻找特定于语言的解决方案 让我们用一个例子来看看这个问题 试图澄清我的问题 如果我有一整
  • 构建wheel失败/“错误:INCLUDE环境变量为空”

    我正在使用 Python 2 7 11 并尝试 pip install 模块 但是其中一些模块失败了 我收到的消息是 无法为 X 构建轮子 和 错误 包含环境变量为空 我尝试安装 Scrapy LXML 和 Twisted 但都失败了 我尝
  • 折叠 numpy 数组除前两个维度之外的所有维度

    我有一个可变维度的 numpy 数组 例如它可以具有以下形状 64 64 64 64 2 5 64 64 40 64 64 10 20 4 我想要做的是 如果维数大于 3 我想将其他所有内容折叠 堆叠到第三维中 同时保留顺序 因此 在我上面
  • 从Python列表中挑选出具有特定索引的项目

    我确信在 Python 中有一种很好的方法可以做到这一点 但我对这门语言还很陌生 所以如果这是一个简单的方法 请原谅我 我有一个列表 我想从该列表中挑选某些值 我想要挑选的值是列表中索引在另一个列表中指定的值 例如 indexes 2 4
  • Spacy-nightly (spacy 2.0) 问题“thinc.extra.MaxViolation 大小错误”

    显然成功安装了 spacy nightly spacy nightly 2 0 0a14 和英语模型 en core web sm 后 我在尝试运行它时仍然收到错误消息 import spacy nlp spacy load en core
  • ValueError:序列太大;不能大于 32

    我写了这段代码 from Crypto Cipher import AES import numpy as np import cv2 base64 BLOCK SIZE 16 PADDING pad lambda s s BLOCK SI
  • Python pandas:向我的数据框中添加一列来计算变量

    我有一个像这样的数据框 gt org group org1 1 org2 1 org3 2 org4 3 org5 3 org6 3 我想将列 count 添加到 gt 数据帧以计算组的成员数量 预期结果如下 org group count
  • 导入错误:无法导入名称

    我有一个名为 google translate python 的库 https github com terryyin google translate python https github com terryyin google tra
  • 获取 Flask 中没有端口的请求主机名

    我刚刚设法使用 Flask 获取我的应用程序服务器主机名request host and request url root 但这两个字段都返回请求主机名及其端口 我想使用仅返回请求主机名的字段 方法 而无需进行字符串替换 如果有 没有 We

随机推荐

  • JAX-WS 客户端:访问本地 WSDL 的正确路径是什么?

    问题是我需要从我提供的文件构建一个 Web 服务客户端 我已将此文件存储在本地文件系统上 虽然我将 WSDL 文件保留在正确的文件系统文件夹中 但一切都很好 当我将其部署到服务器或从文件系统文件夹中删除 WSDL 时 代理找不到 WSDL
  • 在 git 中带注释的标签中输入“commit”

    在 git 中回显带注释的标签git cat file p
  • iOS 中的图像网格

    我想在 TabBarController 中创建一个 TabItem 其中包含用户可以选择的图像网格 我知道我可以使用 TableViewController 但这只会显示一长串列表 而不是 例如 3x4 图像的行 这可能吗 苹果有示例代码
  • Android 6.0+:使用新的 MIDI API 没有声音

    我正在使用新的 MIDI API为了播放一些 MIDI 音符 但是 我听不到任何声音 也没有抛出任何异常 其代码如下 initialising the MidiReceiver private MidiReceiver midiReceiv
  • 动态设置tableHeaderView高度

    我的应用程序创建一个 UITableViewController 其中包含一个可能具有任意高度的自定义 tableHeaderView 我一直在努力寻找动态设置此标头的方法 因为建议的方法似乎已经缩短了此标头 我的UITableViewCo
  • 对空值使用 join 方法的集合

    我有一个简单的方法 可以查看来自表单的请求参数并显示字符串中的值 此方法工作得很好 但是当表单中出现空值时 它会显示如下内容 beef mozzarella milk 您可以看到有一个额外的 如果该值为空 如何删除它 由于某种原因 检查 v
  • 如何测试 Spring Data 存储库?

    我想要一个存储库 比如说 UserRepository 在 Spring Data 的帮助下创建 我是 spring data 的新手 但不是 spring 我使用这个tutorial 我选择的处理数据库的技术是 JPA 2 1 和 Hib
  • 如何在Python中获取用户访问令牌

    我正在使用 Facebook 的非官方 python sdk 这对于很多图形 api 调用来说效果很好 但我最近的项目需要使用更多的 FQL 某些表 例如通知 需要用户访问令牌而不是应用程序访问令牌 使用时 graph facebook c
  • 使用greasemonkey在表格前添加HTML

    我正在使用greasemonkey 来编辑页面 我需要在页面上已有的两个表之间添加我自己的表 然后删除第二个表 没有什么可以真正将两个现有表分开 所以我在使用该函数时遇到了麻烦insertBefore h3 Table 1 h3 table
  • 使用 C# 应用程序在 Twitter 中发帖

    我可以使用带有 twitterizer API 的 C 通过我的应用程序发布推文 并且新帖子会发布在我的 twiiter 网站上 如下所示 新帖子 此帖子用于 Twitter 测试 大约 18 小时前来自 Twitterizer 在底部它显
  • 赛普拉斯在异步命令中返回同步值?

    所以我认为这可能是我混淆了同步 异步代码 主要是因为赛普拉斯告诉我了 但我在赛普拉斯的页面对象中有一个函数正在搜索客户数据 我稍后需要在测试用例中使用这些数据来确认这些值 这是我的功能 searchCustomer searchText s
  • Jquery UI 可排序 - 仅在放置事件上排序

    我想在拖动项目时禁用项目排序 只有在投放完成后 物品才必须进行相应的排序 sortable sortable tolerance pointer revert invalid forceHelperSize true scroll true
  • 如何在 Angular 2 中将标头设置为 application/json

    我正在尝试在 Angular 2 中发送 HTTP post 请求 但无法将标头设置为内容类型应用程序 JSON 我的代码是 login url postdata var headers new Headers Content Type a
  • php 警告 fclose() 期望参数 1 为给定的资源布尔值

    我使用 newrelic 来跟踪我网站上的所有内容 但总是收到此错误 错误消息 E WARNING fclose 期望参数 1 为资源 给定布尔值 堆栈跟踪 在 fclose 中调用 etc snmp bfd stats php 68 就是
  • Scala 2.8 突破

    在斯卡拉中2 8 有一个对象在scala collection package scala def breakOut From T To implicit b CanBuildFrom Nothing T To new CanBuildFr
  • 为什么 NUnit 告诉我“没有提供足够的参数,请提供至少 2 个参数。”当我提供 2 个参数时?

    鉴于我有以下内容TestFixture with TestCase参数作为对decimal int 因为C 不支持decimal直接在属性中 TestFixture public static class GetNumberOfSignif
  • discord.py 如何设置踢命令,以便只有管理员才能使用它?

    这是我的代码 client command client command has permissions administrator True async def kick ctx member discord Member await m
  • 如何使用 supercsv 跳过仅空白的行和具有可变列的行

    我正在研究 CSV 解析器要求 并且正在使用 supercsv 解析器库 我的 CSV 文件可以有 25 列 用制表符 分隔 和最多 100k 行以及附加标题行 我想忽略仅空白的行和包含少于 25 列的行 我使用带有名称映射 将 csv 值
  • 如何在Linux上的VSCode中安装和使用Winforms?

    NET Core 版本 3 0 103 提交 b7ef045669 平台 操作系统 ubuntu linux 18 04 x64 Winforms 分支版本 日期 2020 年 3 月 26 日星期四 07 37 13 2020 0700
  • 查找两个数据框之间的差异

    我有两个数据框 df1 和 df2 其中 df2 是 df1 的子集 如何获得一个新的数据框 df3 它是两个数据框之间的差异 换句话说 一个数据框包含 df1 中不在 df2 中的所有行 列 通过使用drop duplicates pd