比较 DataFrame 或 Series 中 Column(列)差异,常见场景和做法如下(以 pandas 为例):
import pandas as pd
df = pd.DataFrame({
"A": [1, 2, 3, 4],
"B": [1, 0, 3, 5]
})
df["A"] == df["B"]
结果:
0 True
1 False
2 True
3 False
df["diff"] = df["A"] != df["B"]
df[df["A"] != df["B"]]
df["diff_value"] = df["A"] - df["B"]
df["equal"] = df["A"] == df["B"]
df[["A", "B", "C"]].apply(lambda x: x.nunique() == 1, axis=1)
df1 = pd.DataFrame({"A": [1, 2], "B": [3, 4]})
df2 = pd.DataFrame({"A": [1, 9], "B": [3, 4]})
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
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)]
| 场景 | pandas |
|---|---|
SQL A <> B |
df["A"] != df["B"] |
Excel =A2=B2 |
df["A"] == df["B"] |
SQL EXCEPT |
compare() |
我可以给你更精确的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。