从指定的数字开始pandas数据帧索引

时间:2016-07-27 12:27:42

标签: python pandas

不是让pandas数据帧索引从0开始,如何从指定的数字开始,即120.我的天真方法使用len(df.index)来获取行数,然后使用它来生成序列号列表,这是然后附加到数据框并设置为索引。有没有更好的方法来启动特定数字的索引而不是这种天真的方法?

3 个答案:

答案 0 :(得分:3)

这很有效,很容易:

 df.index +=120

答案 1 :(得分:1)

您必须直接覆盖IndexArray对象,您可以使用np.arangepd.RangeIndex执行此操作:

In [109]:
df = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
df

Out[109]:
          a         b         c
0 -0.743707 -0.579372 -0.559999
1  0.902517 -0.595641  0.060594
2  1.285828  0.633603 -1.194275
3  0.944658 -0.133695  0.687517
4 -0.863778  0.631133  1.897758

In [114]:    
df.index = pd.RangeIndex(120,120 + len(df))
df

Out[114]:
            a         b         c
120 -0.743707 -0.579372 -0.559999
121  0.902517 -0.595641  0.060594
122  1.285828  0.633603 -1.194275
123  0.944658 -0.133695  0.687517
124 -0.863778  0.631133  1.897758

答案 2 :(得分:0)

您可以使用索引参数构造数据框。 IE:

df = DataFrame(columns=['a','b','c'], index=[1,2,3], data)