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

如何基于行名的公共片段合并两个Data Frame

合并方案

核心逻辑是先从两个DataFrame的行名中提取公共前缀作为关联匹配键,再基于该键完成合并,以下是Python Pandas环境下的具体实现:

  • 第一步:为两个DataFrame分别新增关联键列,提取行名-分隔符前的公共前缀作为键值
    假设第一个存Ask Price的DataFrame名为df_ask,第二个存Strike Price的名为df_strike,代码如下:
    # 提取-前的公共前缀作为合并键
    df_ask['merge_key'] = df_ask.index.str.split('-').str[0]
    df_strike['merge_key'] = df_strike.index.str.split('-').str[0]
    
  • 第二步:基于公共键执行合并,可按需选择合并模式:两个前缀完全一一对应选inner内连接,需要保留所有存在的前缀选outer外连接
    # 内连接合并,仅保留两个表都有的前缀对应数据
    merged_df = df_ask.merge(df_strike, on='merge_key', how='inner')
    
  • 第三步(可选):如果需要恢复行名格式,可将合并键设为新索引
    merged_df = merged_df.set_index('merge_key')
    
适配扩展说明

如果行名的分隔规则不统一,也可以用正则精准提取固定格式的公共部分作为匹配键,比如匹配Call.Dec.四位年份的规则:

df_ask['merge_key'] = df_ask.index.str.extract(r'(Call\.Dec\.\d{4})', expand=False)

如果是R语言场景,逻辑完全一致:用stringr包提取公共键后,调用dplyr包的inner_join等函数合并即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:06:03