如何在Pandas DataFrame中将数字以字符串形式拼接生成新列?
使用Pandas实现Excel列拼接(类似&A&B&C功能)
需求说明
原始Excel数据如下:
A B C 1 0 1 1 1 1 1 0
需要生成新列D,将A、B、C列的数值按顺序拼接,空值不参与拼接,最终效果:
A B C D 1 0 10 1 1 1 111 1 1 0 110
实现代码
import pandas as pd # 读取目标Excel文件,替换成你的文件路径 df = pd.read_excel('your_file.xlsx') # 处理列拼接:转字符串→替换空值标识→按行拼接 df['D'] = df[['A', 'B', 'C']].astype(str).replace('nan', '', regex=False).agg(''.join, axis=1) # 可选:若D列无空内容,可转为整数类型 # df['D'] = df['D'].astype(int) # 查看结果或保存到新文件 print(df) # df.to_excel('result.xlsx', index=False)
代码说明
- 转字符串:直接拼接数字会触发加法运算,必须先将列转为字符串类型
- 替换空值标识:Pandas中空值转字符串后会显示为
'nan',需要替换为空字符串避免拼接后出现无效内容 - 按行拼接:使用
agg(''.join, axis=1)实现每一行的列值串联
内容的提问来源于stack exchange,提问作者MDJ
相关产品推荐
相关产品推荐

