You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas/Python校验无序数据集值一致性并转换0/1为布尔值

使用Pandas处理零件编号匹配与列值对比

直接上可运行的代码步骤,按需调整文件路径即可:

  1. 导入依赖库
import pandas as pd
  1. 读取两个数据集
    假设你的数据是Excel格式,替换成实际文件路径即可;如果是CSV,把read_excel换成read_csv:
df_a = pd.read_excel("你的第一个数据集文件路径.xlsx")
df_b = pd.read_excel("你的第二个数据集文件路径.xlsx")
  1. 按零件编号合并数据集
    用Part number作为匹配键,内连接确保只保留两边都存在的零件记录,后缀区分两个数据集的列:
merged_data = pd.merge(df_a, df_b, on="Part number", suffixes=("_a", "_b"))
  1. 对比指定列的0/1值,生成布尔匹配结果
    针对H50、H51、H53列分别生成匹配状态列,相等为True,不等为False:
merged_data["H50匹配"] = merged_data["H50_a"] == merged_data["H50_b"]
merged_data["H51匹配"] = merged_data["H51_a"] == merged_data["H51_b"]
merged_data["H53匹配"] = merged_data["H53_a"] == merged_data["H53_b"]
  1. 筛选存在不匹配的行并导出
    只要任意一列不匹配,就将该行纳入导出范围:
# 筛选至少有一列不匹配的记录
mismatch_rows = merged_data[~(merged_data["H50匹配"] & merged_data["H51匹配"] & merged_data["H53匹配"])]

# 导出到指定Excel文件,不保留索引列
mismatch_rows.to_excel("Not in contract.xlsx", index=False)

额外说明

  • 如果需要保留原数据集的全部列,上面的merged_data已经包含了两个数据集的所有列,导出时会一并保存;如果只需要特定列,可以在to_excel里用columns参数指定,比如columns=["Part number", "H50_a", "H50_b", "H50匹配"]
  • 如果你的Part number列存在空值或者格式不一致(比如字符串/数字混合),建议先统一格式,比如df_a["Part number"] = df_a["Part number"].astype(str),避免匹配失败

内容的提问来源于stack exchange,提问作者millie1712

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 09:25:44