如何查找一个数据帧中存在但另一个数据帧中不存在的行(比较 df1 和 df2)?

Susan Sarandon
发布: 2024-10-19 21:07:03
原创
575 人浏览过

How to Find Rows Present in One Dataframe but Not in Another (Comparing df1 and df2)?

比较数据帧:查找一个中存在但另一个中不存在的行

比较数据帧以识别差异对于数据质量保证和合并至关重要运营。在本例中,我们有两个具有特定结构的数据帧(df1 和 df2),需要确定 df2 中存在但 df1 中不存在的行。

最初,尝试使用 df1 != df2 比较数据帧会导致一个错误。此方法仅适用于具有相同行和列的数据帧。为了找到对称差异,我们需要一种不同的方法。

一种方法涉及连接数据帧:

df = pd.concat([df1, df2])
df = df.reset_index(drop=True)
登录后复制

然后,按所有列对连接的数据帧进行分组:

df_gpby = df.groupby(list(df.columns))
登录后复制

接下来,我们通过获取仅存在一行的索引值来识别唯一记录:

idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
登录后复制

使用这些索引,我们可以过滤数据帧以获得所需的结果:

df.reindex(idx)
登录后复制

此方法根据日期索引和 Fruit 列的比较提供 df2 中存在但 df1 中不存在的行。

以上是如何查找一个数据帧中存在但另一个数据帧中不存在的行(比较 df1 和 df2)?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!