批次号怎么加进去?

批次号加入匹配的代码示例:

# 1. 提取批次号(假设格式:P20250301-001 → 批次20250301)
df_refund['批次'] = df_refund['商品ID'].str.extract(r'(d{8})')
df_orders['批次'] = df_orders['商品ID'].str.extract(r'(d{8})')

# 2. 增加批次号作为匹配条件
merged = pd.merge_asof(
    df_refund.sort_values('时间'),
    df_orders.sort_values('时间'),
    on='时间',
    by=['金额', '商品品类', '批次'],  # 三级精确匹配
    tolerance='5min'
)

# 3. 人工校验异常批次
check = merged[merged['批次_x'] != merged['批次_y']]
print(f"批次不匹配记录: {len(check)}条,需人工审核")

生鲜场景注意:

  • 若批次号规则不稳定(如含字母),先统一格式:df['批次'] = df['商品ID'].str.replace(r'[^0-9]', '', regex=True)
  • 建议为每个批次单独保存商品ID+批次组合作为唯一键