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

Pandas中将字典内容追加到现有行对应列的实现问题咨询

Pandas逐行追加字典键值对到对应行的解决方案

核心思路

逐行处理时将每行生成的计算字典转为Series对象,和原DataFrame拼接时Pandas会自动按列名对齐,不同行字典缺少的键会自动填充NaN,无需手动处理列匹配逻辑。

完整代码示例

import pandas as pd

# 构造原始DataFrame
df = pd.DataFrame([
    [1, 2, 3],
    [4, 5, 6]
], columns=['A', 'B', 'C'])

# 逐行计算逻辑,返回字典(可替换为你的业务逻辑)
def calc_row(row):
    if row['A'] == 1:
        return {'D': 4, 'E': 5}
    else:
        # 模拟不同行字典键不一致的场景
        return {'E': 7, 'F': 8}

# 方法1:普通数据量下直接用apply实现
result = pd.concat([
    df,
    df.apply(calc_row, axis=1).apply(pd.Series)
], axis=1)

# 方法2:大数据量优化写法,减少apply开销
# res_list = []
# for _, row in df.iterrows():
#     res_list.append(calc_row(row))
# result = pd.concat([df, pd.DataFrame(res_list)], axis=1)

print(result)

输出结果

A  B  C    D  E    F
0  1  2  3  4.0  5  NaN
1  4  5  6  NaN  7  8.0

补充说明

  • 若不需要保留空值,可后续调用fillna()方法填充指定默认值
  • 拼接时不会修改原有列的数据,仅新增字典中存在的键对应的列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:45:00