一周学会Pandas2之Python数据处理与分析-Pandas2数据合并与对比-df.compare():差异高亮

article/2025/6/25 18:21:59

锋哥原创的Pandas2 Python数据处理与分析 视频教程:  

2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

df.compare():差异高亮

df.compare() 是 pandas 中用于 高效比较两个 DataFrame 差异 的方法(自 pandas 1.1.0 版本引入),能够直观展示两个结构相同的数据集在对应位置的值差异。以下是详细说明及示例:

基本语法

df1.compare(df2, align_axis=0,        # 结果对齐方式(0: 垂直堆叠差异,1: 横向并排)keep_shape=False,    # 是否保留所有行/列(默认仅显示有差异的行/列)keep_equal=False,    # 是否保留相等值(默认仅显示差异)result_names=('self', 'other')  # 差异结果列名标识
)

核心功能

  1. 差异高亮:将两个 DataFrame 的差异值并排显示,区分 self(原 DataFrame)和 other(对比的 DataFrame)。

  2. 灵活对齐:支持垂直或水平展示差异。

  3. 过滤控制:可选择仅显示差异部分或保留完整结构。


参数说明

参数说明
align_axis0:垂直堆叠差异行;1(默认):横向并排差异列
keep_shapeFalse(默认):仅显示有差异的行;True:保留所有行/列,无差异处填充 NaN
keep_equalFalse(默认):隐藏相等值;True:显示相等值
result_names自定义标识列名,默认 ('self', 'other'),表示原 DataFrame 和对比对象

常见场景示例

1,基本差异比较
import pandas as pd
​
df1 = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
df2 = pd.DataFrame({"A": [1, 20, 3], "B": [4, 50, 60]})
​
diff = df1.compare(df2)

2,横向并排差异(align_axis=0)
import pandas as pd
​
df1 = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
df2 = pd.DataFrame({"A": [1, 20, 3], "B": [4, 50, 60]})
​
diff = df1.compare(df2, align_axis=0)

3,保留所有行/列(keep_shape=True)
import pandas as pd
​
df1 = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
df2 = pd.DataFrame({"A": [1, 20, 3], "B": [4, 50, 60]})
​
diff = df1.compare(df2, keep_shape=True)

4,显示相等值(keep_equal=True)
import pandas as pd
​
df1 = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
df2 = pd.DataFrame({"A": [1, 20, 3], "B": [4, 50, 60]})
​
diff = df1.compare(df2, keep_equal=True)

5,自定义结果列名(result_names)
import pandas as pd
​
df1 = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
df2 = pd.DataFrame({"A": [1, 20, 3], "B": [4, 50, 60]})
​
diff = df1.compare(df2, result_names=("Original", "Modified"))


http://www.hkcw.cn/article/eihWSptWIg.shtml

相关文章

uniapp安卓App自定义相机(身份证相机)

效果图: 实现思路: 本人也是第一次做app的自定义相机功能,找了相关文章后,发现uniapp自带的相机组件是不能实现在app中自定义相机的功能,因为不支持。按照前辈们的思路,是使用uniapp中的live-pusher直播组…

【软件安装】非华为手机安装华为电脑管家(14.0.5.8 C233)(附带安装包下载地址)

前言 华为电脑管家是一款专为华为电脑用户设计的综合管理软件,提供了多种实用功能,旨在优化电脑性能并提升用户体验。其拥有以下特色功能: 互传功能: 快速传输:华为电脑管家支持与华为手机之间的快速文件传输。用户可…

明基RD280U编程显示器深度测评:码农的「第二块键盘」竟然会发光?

文章目录 前言一、开箱篇:当理工男遇到「俄罗斯套娃式包装」二、外观篇:深空灰的「代码容器」1. 桌面变形记2. 保护肩颈的人体工学设计 三、显示篇:给代码做「光子嫩肤」1. 28寸超大大屏 3:2屏比 4K超清2.专业编程模式,让代码一…

一次电脑感染Synaptics Pointing Device Driver病毒的经历,分享下经验

没想到作为使用电脑多年的老司机也会电脑中病毒,周末玩电脑的时候突然电脑很卡,然后自动重启,奇怪,之前没出现这个情况。 重启后电脑开机等了几十秒,打开任务管理器查看开机进程,果然发现有个Synaptics Po…

给出一个基于 ESP32(Espressif ESP-IDF)来连接并向蓝牙耳机发送音频的方案示例。该方案的核心思路是让 ESP32 充当「A2DP Source」(与手机类似)

下面给出一个基于 ESP32(Espressif ESP-IDF)来连接并向蓝牙耳机发送音频的方案示例。该方案的核心思路是让 ESP32 充当「A2DP Source」(与手机类似),而蓝牙耳机则是「A2DP Sink」。这样,ESP32 能够像手机一…

2025真正可行的手机安装Kali Linux方法!

很久前,我出了一期termux安装kali linux视频,有很多问题,这次加以记录和整理,总体来说,大多是国际网络问题和linux命令错误,就算实现了国际网络,但你的安装程序不一定通过国际网络进行&#xff…

程序员编程利器一明基RD280U显示器

目录 ​编辑 一、引言 二、开箱验货 三、丝滑极致深度体验 独特屏比,让代码阅读如鱼得水 超大巨幕,释放监控细节 专业编程模式,打造舒适视觉环境 强大护眼功能,呵护眼睛健康 丰富扩展功能,提升工作便捷性 智…

程序员六一八干什么?种草很久的专业编程显示器终于能入了

文章目录 引言一、 显示器热门活动1.1 明基RD系列编程显示器:程序员的护眼利器1.2 限时优惠来袭,程序员换机好时机 二、极致编程体验2.1 3:2屏幕比和超4K分辨率2.2 专业编程色彩模式2.3 护眼技术和功能2.3.1 硬件滤蓝光2.3.2 抗反射面板2.3.3 MoonHalo舒…

C盘爆满?一键清理恢复极速体验!“小番茄C盘清理”彻底解放你的电脑

目录 前言 C盘变红?!那么你的电脑将会出现下面糟糕的情况: 一、小番茄C盘清理介绍——拯救你的C盘爆红! 二、安装登录小番茄C盘清理 2.1 安装小番茄C盘清理 2.2 登录—拥有专属自己电脑的小番茄C盘清理 三、手把手教你深度…

联想电脑麦克风阵列问题及解决办法!!!

前两天即将面试时候进入到腾讯会议出现了这样问题:检测到麦克风阵列异常。如果你也遇到麦克风问题,可以参考我的总结: 时间紧急,我首先是怀疑自己之前跟着网上买的工具做电脑清灰打开后盖碰到了麦克风模块什么的影响到了系统检查不…

oracle goldengate实现远程抽取postgresql 到 postgresql的实时同步【绝对无坑版,亲测流程验证】

oracle goldengate实现postgresql 到 postgresql的实时同步 源端:postgresql1 -> postgresql2 流复制主备同步 目标端:postgresql 数据库版本:postgresql 12.14 ogg版本:21.3 架构图: 数据库安装以及流复制主备…

服务器带宽基础知识

服务器带宽基础知识详解 一、带宽的定义与基本概念 服务器带宽(Bandwidth)是指服务器与互联网之间在单位时间内传输数据的能力,通常以 Mbps(兆比特每秒) 或 Gbps(吉比特每秒) 为单位衡量。它决…

如何在本地部署小智服务器:从源码到全模块运行的详细步骤

小智聊天机器人本地后台服务器源码全模块部署 作者:林甲酸 -不是小女子也不是女汉子 是大女子 更新日期:2025年4月29日 🎯 前言:为什么要写这篇教程? 上周按照虾哥小智服务器的教程去部署本地后台,我用的是…

【Linux实践系列】:进程间通信:万字详解命名管道实现通信

🔥 本文专栏:Linux Linux实践项目 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录: 与其等待完美的风,不如学会在逆风中调整帆的角度——所有伟大航程都始于此刻出发的勇气 ★★★ 本文前置知…

nginx配置反向代理服务器,实现在https网站中请求http资源

文章目录 一、前言二、Nginx反向代理的工作原理三、Nginx反向代理的主要功能‌四、Nginx反向代理的配置和使用场景五、实战配置5.1 首先,修改宝塔面板配置5.2 接着配置代理服务器5.3 完成上面所有配置后5.4最后还要在原来的index.html文件里添加5.5 或者可以操作服务…

鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)

参考文章:https://modelers.cn/models?namedeepseek&page1&size16 https://www.hiascend.com/software/modelzoo/models/detail/11aa2a48479d4d229a9830b8e41fc011 当前服务器配置为:2 * 鲲鹏920 2 * Atlas 300I pro 系统:open Eul…

Tongweb7049M4有关SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱的处理方案(by lqw)

前提条件:Tongweb7049M4已在http通道里配置了https(如何配置https可以参考这个帖子:东方通TongWEB添加Https证书,开启SSL) 遇到客户在配置了https后,扫描漏洞提示: 有关SSL/TLS 服务器瞬时 Dif…

[原因和较为完美的解决方法]远程主机可能不符合 glibc 和 libstdc++ Vs code 服务器的先决条件

省流:把vscode降低到1.98版本并关闭自动更新 今天打开vscode,突然发现连接不了本地的虚拟主机ubuntu了,并且报了本文标题所示的错误。 vscode的具体报错如下: 原因是:(从别人的文章摘过来的) 通…

金蝶K3服务器安装与配置方法详细图解手册

金蝶K3服务器安装与配置方法详细图解手册 【下载地址】金蝶K3服务器安装与配置方法详细图解手册 本开源项目提供了一份详尽的《金蝶K3服务器安装与配置方法》图文教程,帮助用户轻松掌握金蝶K3系统的安装与配置。教程涵盖了服务器硬件配置、K3中间件、客户端以及数据…

物理服务器紧急救援:CentOS系统密码重置全流程实战指南

前言 在企业IT运维实践中,物理服务器密码丢失是典型的"低概率高风险"事件。某金融科技公司曾因核心服务器密码遗失导致业务中断36小时,直接损失超过800万元。这起真实案例揭示了系统密码管理的关键性——当承载重要业务的物理服务器遭遇密码丢…