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

使用for循环拼接不同DataFrame列值时List列无数据问题求解

问题原因与解决方案

  • 核心问题1:新列赋值方式错误
    pandas不支持使用df.列名的点语法创建新列,该写法只会给DataFrame对象添加普通Python属性,不会真正写入DataFrame的列结构中,只有已经存在的列才能用点语法修改值。新增列必须使用df['列名']的方括号写法。
  • 核心问题2:缺失计数编号拼接逻辑
    需要先生成每行对应的计数编号(此处用行索引作为编号,可按需调整分隔符或编号规则),再和两个DataFrame的Camp列拼接。

修正后可运行代码

import pandas as pd

df = pd.DataFrame()   
df['Camp'] = ['AAA', 'BBB', 'CCC']
df['Impr'] = [100, 600, 200]
df['Bid'] = [3, 5, 7]

df1 = pd.DataFrame() 
df1['Camp'] = ['XXX', 'YYY', 'ZZZ']
df1['Impr'] = [200, 300, 100]

# 方括号赋值新列,拼接计数编号+两个Camp列
df1['List'] = df1.index.astype(str) + df['Camp'] + df1['Camp']

print(df)
print("-"*20)
print(df1)

运行结果

Camp  Impr  Bid
0  AAA   100    3
1  BBB   600    5
2  CCC   200    7
--------------------
  Camp  Impr    List
0  XXX   200  0AAAXXX
1  YYY   300  1BBBYYY
2  ZZZ   100  2CCCZZZ

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:15:08