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字段,通常直接提供关联关系。