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

如何基于第二个DataFrame的取值为现有DataFrame动态新增列

pandas 实现代码
import pandas as pd

# 构造示例数据(实际使用时替换为你自己的df1、df2即可)
df1 = pd.DataFrame({
    'X': [1,4,7,3],
    'Y': [2,5,8,6],
    'Z': [3,6,9,9]
})

df2 = pd.DataFrame({
    'col1': ['XX','YY','XX','ZZ'],
    'col2': ['aa','bb','cc','vv']
})

# 核心处理逻辑
for col_name, group_data in df2.groupby('col1'):
    # 仅当df1不存在该列时新增
    if col_name not in df1.columns:
        # 将分组后的col2值转为Series,和df1索引对齐,缺失位自动补NaN
        df1[col_name] = pd.Series(group_data['col2'].values)

# 输出结果查看
print(df1)

逻辑说明

  • 对df2按col1字段分组,获取每个待新增列对应的所有取值集合
  • 遍历每个分组时先做列名存在性校验,避免覆盖df1原有列数据
  • 利用pandas Series自动对齐索引的特性,赋值时长度不足的行自动填充为NaN,完全匹配需求的输出格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:24:01