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

如何拆分Pandas DataFrame的greeks列并新增delta等字段列?

解决Pandas中拆分字典类型列的问题

你用explode没用是因为这个方法专门处理列表/数组类型的列,而你的greeks列是字典结构,得用适配JSON字典的方法处理。下面是两种最实用的解决方案:

方案1:从原始JSON数据直接生成拆分后的DataFrame

如果还没把JSON转成DataFrame,直接用pd.json_normalize一步到位最省心,它能自动展开嵌套的字典结构:

import pandas as pd
import requests

# 从API获取原始JSON数据
response = requests.get("你的API地址")
raw_data = response.json()

# 直接生成包含拆分后列的DataFrame
df = pd.json_normalize(raw_data)

# 可选:将带前缀的列名简化(比如greeks.delta → delta)
df.rename(
    columns={
        "greeks.delta": "delta",
        "greeks.gamma": "gamma",
        "greeks.rho": "rho",
        "greeks.theta": "theta",
        "greeks.vega": "vega"
    },
    inplace=True
)

方案2:对已有的DataFrame拆分greeks列

如果已经生成了包含greeks列的DataFrame,用下面两种方法都可以:

方法A:用apply(pd.Series)拆分

# 把greeks列拆成独立的DataFrame
greeks_cols = df["greeks"].apply(pd.Series)

# 合并拆分后的列到原DataFrame,同时删除原greeks列
df = pd.concat([df.drop("greeks", axis=1), greeks_cols], axis=1)

方法B:用pd.json_normalize拆分

和上面效果一致,更适配复杂嵌套的字典结构:

greeks_cols = pd.json_normalize(df["greeks"])
df = pd.concat([df.drop("greeks", axis=1), greeks_cols], axis=1)

两种方法都能将delta、gamma等字段转为独立列,根据你的实际场景选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 21:52:18