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
相关产品推荐
相关产品推荐

