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

如何在DataFrame方法链中重命名最后一列?

如何在Pandas方法链中重命名处理后DataFrame的最后一列?

这个场景我太熟悉了——在方法链里,前面的切片操作已经生成了一个和原table完全不同的新DataFrame,但rename本身没法直接引用这个刚生成的DataFrame的列(确实没有self这种语法),不过有个非常简洁的解决方案,用pipe方法就能搞定:

核心解决方案:用pipe传递当前DataFrame

pipe的作用就是把方法链中当前的DataFrame作为参数传给后续的函数,这样你就能直接拿到这个处理后的DataFrame,进而精准获取它的最后一列名称。代码写法如下:

result = table.iloc[:,2:-1].pipe(lambda df: df.rename(columns={df.columns[-1]: "Text"}))

为什么这能行?

  • 首先table.iloc[:,2:-1]执行切片操作,生成一个新的DataFrame;
  • 接着pipe把这个新DataFrame传给lambda函数里的df参数;
  • 最后在rename里,通过df.columns[-1]直接获取这个新DataFrame的最后一列名称,将其重命名为"Text"。

举个实际例子验证

假设原table的列是['ID', 'Name', 'Age', 'Address', 'Notes'],执行table.iloc[:,2:-1]后得到的列是['Age', 'Address'],用上面的代码处理后,结果的列就变成了['Age', 'Text'],完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:20:48