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

如何在Pandas中使用apply结合索引创建新列?

解决方法

首先,你使用apply时,lambda里的x是每行对应的Series对象,它的name属性就是该行的索引值,所以不用index(x),直接调用x.name即可。

正确的apply写法:

df['col3'] = df.apply(lambda x: x['col1'] + x['col2'] + x.name, axis=1)

注意必须加上axis=1,指定按行应用函数——默认axis=0是按列处理,不加会导致报错。

更高效的替代方案

apply本质是逐行遍历,大数据量下效率偏低,你可以直接用pandas的向量化运算实现,代码更简洁且速度更快:

df['col3'] = df['col1'] + df['col2'] + df.index

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 16:15:52