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

Python中为DataFrame新增起始值为2000的计数列

给DataFrame新增从2000开始的年份列

你原来的代码写法有问题,而且方向错了——你是想新增一列,不是修改索引。下面给你两种简单可行的方法:

方法一:用range生成连续年份序列

这种方法不管DataFrame的索引是什么样的都能用,最稳妥:

import pandas as pd

# 先模拟你的原始DataFrame(如果已有可以跳过这行)
spyearlyclo = pd.DataFrame({'Price': [3.1, 3.2, 3.3, 3.4]})

# 新增Year列,从2000开始,每行加1
spyearlyclo['Year'] = range(2000, 2000 + len(spyearlyclo))

方法二:利用现有索引(仅当索引从0开始连续时可用)

如果你的DataFrame索引是默认的0、1、2...,可以直接用索引加2000:

spyearlyclo['Year'] = spyearlyclo.index + 2000

执行后就能得到你想要的结果:

Price  Year
0    3.1  2000
1    3.2  2001
2    3.3  2002
3    3.4  2003

原代码的问题说明

你写的列表推导式语法错误,而且试图把循环结果赋值给index,但我们的需求是新增一列,不是替换索引,所以方向不对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:25:33