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

Pandas如何将指定列字符拼接至对应行列表的每个元素前

实现方案

结论

不需要手动逐行遍历DataFrame,使用apply按行处理即可,代码简洁且运行效率远高于自定义for循环。

具体实现代码

import pandas as pd

# 构造示例数据
df_1 = pd.DataFrame({'x' : ['a', 'b', 'c'], 'y' : [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12]]})

# 核心处理逻辑
df_1['y'] = df_1.apply(lambda row: [f"{row['x']} {num}" for num in row['y']], axis=1)

运行后打印df_1即可得到预期结果:

x                         y
0  a          [a 1, a 2, a 3, a 4]
1  b          [b 5, b 6, b 7, b 8]
2  c      [c 9, c 10, c 11, c 12]

逻辑说明

  • apply方法设置axis=1代表按行遍历,每次传入一行完整数据作为row参数
  • 对每行数据,通过列表推导式遍历当前行y列的所有数值,直接拼接x列字符串和对应数值即可
  • 列表推导式本身性能远高于普通for循环,搭配pandas内置的apply方法,比手写遍历DataFrame的代码效率更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:27:02