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

删除列及去重后如何将DataFrame列标签从0开始重新编号

解决方案:将DataFrame列标签从0开始重新编号

嘿,针对你的需求,有几种简单直接的方法可以把你的DataFrame列标签改成从0开始的连续整数,我给你列出来:

方法1:直接赋值列名(最简洁通用)

这是最推荐的方式,不管你有多少列都能自动适配:

# 用range生成从0开始的连续整数,数量等于DataFrame的列数
XY1.columns = range(XY1.shape[1])

解释:XY1.shape[1]会返回你的DataFrame的列数(这里是4),range(4)生成0,1,2,3,直接赋值给columns就能替换掉原来的列标签。

方法2:手动指定列名(适合列数固定的情况)

如果你明确知道列数是4,也可以直接写死列名列表:

XY1.columns = [0, 1, 2, 3]

这种方法更直观,但如果之后列数变化了需要手动修改,灵活性不如第一种。

方法3:使用rename方法(适配复杂映射场景)

如果之后你需要做更复杂的列名映射,也可以用rename方法配合lambda函数:

XY1 = XY1.rename(columns=lambda _: list(range(XY1.shape[1]))[list(XY1.columns).index(_)])

不过这种方法相对冗余,除非你有额外的映射需求,否则方法1是最优解。

你可以用print(XY1.columns)验证一下,列标签应该已经变成Int64Index([0, 1, 2, 3], dtype='int64')啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:42:59