温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么比较Column列差异

发布时间:2026-08-31 00:03:13 来源:亿速云 阅读:117 作者:小樊 栏目:数据库

比较 DataFrame 或 Series 中 Column(列)差异,常见场景和做法如下(以 pandas 为例):


一、比较两列的差异(同一行是否相等)

示例数据

import pandas as pd

df = pd.DataFrame({
    "A": [1, 2, 3, 4],
    "B": [1, 0, 3, 5]
})

1️⃣ 判断是否相等(返回布尔值)

df["A"] == df["B"]

结果:

0     True
1    False
2     True
3    False

2️⃣ 标记差异行

df["diff"] = df["A"] != df["B"]

3️⃣ 只查看有差异的行

df[df["A"] != df["B"]]

二、计算差异值(A - B)

df["diff_value"] = df["A"] - df["B"]

三、比较多个列是否完全一致

1️⃣ 多列相互比较

df["equal"] = df["A"] == df["B"]

2️⃣ 多列是否全部相等

df[["A", "B", "C"]].apply(lambda x: x.nunique() == 1, axis=1)

四、比较两个 DataFrame 的列差异

示例

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

1️⃣ 比较相同列名和相同行

df1.compare(df2)

或逐列比较:

df1["A"] != df2["A"]

五、比较列名差异(结构差异)

set(df1.columns) - set(df2.columns)  # df1 有但 df2 没有
set(df2.columns) - set(df1.columns)  # df2 有但 df1 没有

六、处理缺失值(NaN)的差异比较

⚠️ 注意:NaN != NaN

正确方式

df["A"].fillna(0) != df["B"].fillna(0)

或使用:

df["A"].eq(df["B"]).fillna(False)

七、按数据类型或数值范围比较

df[df["A"] > df["B"]]
df[df["A"].between(df["B"] - 1, df["B"] + 1)]

八、SQL / Excel 对应思路

场景 pandas
SQL A <> B df["A"] != df["B"]
Excel =A2=B2 df["A"] == df["B"]
SQL EXCEPT compare()

九、你可以直接告诉我:

  • ✅ 是比较 同一张表的不同列?
  • ✅ 还是 两个 DataFrame 同名字段?
  • ✅ 是否涉及 时间、字符串、缺失值?
  • ✅ 用 pandas / SQL / Excel?

我可以给你更精确的示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手