REF打头怎么关联
REF打头退款单号关联原订单号方法
1. 直接截取法(格式固定)
# 假设REF-1003 → 原单号1003
df_refund['原订单号'] = df_refund['退款单号'].str.replace('REF-', '', regex=False)
2. 提取数字法(通用)
df_refund['原订单号'] = df_refund['退款单号'].str.extract(r'(d+)')
# "REF-1003-A" → "1003"
3. 建立映射表(非标准格式)
# 手动或从日志解析映射关系
mapping = {'REF-1003': 'OR1003', 'REF-2001': 'OR2001'}
df_refund['原订单号'] = df_refund['退款单号'].map(mapping)
4. 联合匹配(无直接关联时)
# 按退款时间+金额模糊匹配原订单
merged = pd.merge_asof(
df_refund.sort_values('时间'),
df_orders.sort_values('时间'),
on='时间',
by='金额',
tolerance=pd.Timedelta('10min')
)
建议:优先查看API文档中parent_order_id字段,通常直接提供关联关系。