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

如何将Pandas DataFrame按key分组并转换为指定格式的JSON?

解决方法

问题根源是分组后未剔除key列就直接生成JSON,导致结果中包含多余的key字段。只需在分组处理时先移除key列,再生成目标格式即可。

完整代码示例

import pandas as pd
import json

# 构造示例DataFrame
df = pd.DataFrame({
    'key': ['a', 'a', 'c'],
    'val1': ['a1', 'b1', 'c1'],
    'val2': ['a2', 'b2', 'c2']
})

# 分组处理:删除key列后转records格式,最终转为目标字典结构
grouped_result = df.groupby('key').apply(
    lambda group: group.drop('key', axis=1).to_dict(orient='records')
).to_dict()

# 格式化输出JSON
print(json.dumps(grouped_result, indent=2))

代码说明

  • groupby('key'):按key列完成数据分组
  • lambda group: group.drop('key', axis=1).to_dict(orient='records'):对每个分组先删除key列,再将剩余数据转为records格式的字典列表(比直接转JSON更便于后续构造目标结构)
  • .to_dict():将分组结果直接转为以key值为键的字典
  • json.dumps(..., indent=2):格式化输出JSON,让结构更清晰

最终输出

{
  "a": [
    {
      "val1": "a1",
      "val2": "a2"
    },
    {
      "val1": "b1",
      "val2": "b2"
    }
  ],
  "c": [
    {
      "val1": "c1",
      "val2": "c2"
    }
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:55:21