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

如何用Python/Pandas基于同行列信息创建汇总列

问题:为Pandas DataFrame添加带描述的summary列

原始DataFrame定义如下:

import pandas as pd

df = pd.DataFrame({
    'id': [1,2,3],
    'date': ['2021-09-08', '2021-07-06', '2021-03-04'],
    'finding': ['Yes', 'No', 'Yes'],
    'unecessary_col': [1,1,1]
})

对应的表格输出:

id  date        finding unecessary_col
0   1   2021-09-08  Yes     1
1   2   2021-07-06  No      1
2   3   2021-03-04  Yes     1

需求:新增summary列,将每行的id、date、finding列内容按指定格式拼接,格式为"ID: {id值}; Date: {date值}; Finding: {finding值}",不需要包含unecessary_col列。


解决方案

方法1:使用apply逐行处理(灵活易读)

通过自定义函数,逐行提取指定列的内容并拼接成目标格式:

def create_summary(row):
    return f"ID: {row['id']}; Date: {row['date']}; Finding: {row['finding']}"

df['summary'] = df.apply(create_summary, axis=1)

方法2:矢量化字符串拼接(高效,适合大数据量)

利用Pandas的矢量化操作直接拼接字符串,避免逐行循环,效率更高:

df['summary'] = "ID: " + df['id'].astype(str) + "; Date: " + df['date'] + "; Finding: " + df['finding']

也可以使用str.format的矢量化写法:

df['summary'] = df.apply(lambda x: "ID: {}; Date: {}; Finding: {}".format(x['id'], x['date'], x['finding']), axis=1)

最终输出

执行上述任意一种方法后,DataFrame将变为:

id  date        finding unecessary_col  summary
0   1   2021-09-08  Yes     1               ID: 1; Date: 2021-09-08; Finding: Yes
1   2   2021-07-06  No      1               ID: 2; Date: 2021-07-06; Finding: No
2   3   2021-03-04  Yes     1               ID: 3; Date: 2021-03-04; Finding: Yes

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:16:04