You need to enable JavaScript to run this app. Pandas如何将DataFrame的多列额外字段合并为单个字典格式列?
优惠活动
大模型
产品
解决方案
定价
更多

Pandas如何将DataFrame的多列额外字段合并为单个字典格式列?

实现方案

核心思路

先筛选出所有非固定字段的额外列,再将这些列的每行值转为字典格式赋值给新列即可,代码支持动态适配不同场景下的额外列变动。

完整代码示例

import pandas as pd

# 1. 定义固定列列表
fixed_cols = ['record', 'yhat', 'residual', 'hat']
# 2. 自动筛选所有不在固定列里的额外列
extra_cols = [col for col in df.columns if col not in fixed_cols]

# 3. 生成additional列(数值保持原数据类型)
df['additional'] = df[extra_cols].to_dict('records')

# 可选:如果需要将数值转为示例中的科学计数法字符串格式,用以下代码替换步骤3即可
# def format_row_dict(row):
#     return {col: f"{row[col]:.4E}" for col in extra_cols}
# df['additional'] = df.apply(format_row_dict, axis=1)

# 4. 保留需要的列,删除原始额外列
df = df[fixed_cols + ['additional']]

效果说明

执行代码后输出的DataFrame结构和你给出的预期效果完全一致,额外列的数量、名称发生变动时不需要修改代码逻辑,通用性较强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 09:36:04