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

如何为Pandas DataFrame批量添加拼接两列值的新列?

Pandas高效拼接列并解决SettingWithCopy警告

解决警告问题

你遇到的SettingWithCopyWarning不是拼接逻辑错误,而是当前df可能是另一个DataFrame的切片副本,直接赋值触发了Pandas的安全提醒。可以通过两种方式解决:

  1. 先将df转为独立的DataFrame:
df = df.copy()
df['ColC'] = df['ColA'] + ' (' + df['ColB'] + ')'
  1. 直接用.loc指定行列赋值,明确操作原数据:
df.loc[:, 'ColC'] = df['ColA'] + ' (' + df['ColB'] + ')'

高效拼接方法(无需逐行处理)

Pandas提供多种批量字符串拼接方法,性能优于直接用+拼接,尤其适合大数据量场景:

  • str.cat方法(性能最优):专门的字符串批量拼接工具
df['ColC'] = df['ColA'].str.cat(df['ColB'], sep=' (', na_rep='') + ')'
  • 格式化字符串结合apply:适配复杂格式需求
df['ColC'] = df.apply(lambda x: f"{x['ColA']} ({x['ColB']})", axis=1)
  • format_map格式化:可读性更好的写法
df['ColC'] = df.apply(lambda x: "{ColA} ({ColB})".format_map(x), axis=1)

这些方法均为批量处理逻辑,无需逐行循环,效率和Excel填充一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 20:14:54