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

Pandas中如何将两列数据组合后存储为自定义名称的新列

Pandas合并两列生成新列实现方案

你写的groupby是用来做分组统计的语法,运行后只会生成分组对象,根本不会修改原表、也没法生成拼接内容的新列,按下面的方法写就能实现需求:
两列合并效果示例

方法1:直接字符串拼接(推荐,简单高效)

如果只是要把两列内容按固定格式拼起来,直接用+拼接后赋值给自定义新列就行,和示例效果完全匹配:

import pandas as pd

df = pd.read_csv("Dataset.csv")
# 新列名可以自己改,这里用route举例,连接符也可以按需替换
df['route'] = df['source_city'] + '-' + df['destination_city']

要换连接格式直接改拼接的中间内容就行,比如要用箭头连接就写:
df['route'] = df['source_city'] + ' → ' + df['destination_city']

方法2:apply自定义拼接(适合复杂拼接逻辑)

如果拼接的时候需要加条件判断、加额外说明文字,用apply逐行处理更灵活:

# 例子:拼接成“从XX到XX”的中文格式
df['route'] = df.apply(lambda row: f"从{row['source_city']}到{row['destination_city']}", axis=1)

补充说明

你之前写的groupby语法适用场景不对:如果后续你要按出发-到达城市的维度做聚合统计,比如算每条航线的平均价格、总订票数,才需要用它,举个例子:

# 统计每条航线的平均机票价格
route_stat = df.groupby(['source_city','destination_city'])['price'].mean()

拼接完可以跑一句print(df[['source_city','destination_city','route']].head()),打印前5行确认下效果对不对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 16:12:19