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

Pandas如何基于匹配的Strike Price列对两个DataFrame的Close值做减法

实现方法

核心思路是通过Pandas的merge方法按Strike Price列合并两个DataFrame,再对匹配到的Close列做减法,未匹配的位置自动返回NaN,完全符合需求。

完整代码示例

import pandas as pd

# 请将下方df1、df2替换为你自己的两个DataFrame
df1 = pd.DataFrame({
    'Strike Price': [29500, 30000, 30300, 30400, 30500],
    'Close': [120, 90, 75, 60, 45]
})

df2 = pd.DataFrame({
    'Strike Price': [29500, 30300, 30400],
    'Close': [80, 50, 30]
})

# 按Strike Price列合并,保留df1所有行,给重名的Close列加后缀区分
merged = pd.merge(df1, df2, on='Strike Price', how='left', suffixes=('_1', '_2'))

# 计算差值,未匹配的位置自动返回NaN
merged['Close_diff'] = merged['Close_1'] - merged['Close_2']

参数说明

  • 如果你需要保留两个DataFrame的所有Strike Price取值,将merge方法的how参数改为'outer'即可
  • suffixes参数用于给两个重名的Close列加后缀,避免合并时列名冲突,你可以根据自己的需求修改后缀内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:54:06