df = pd.DataFrame([1,1,1,1], index=pd.date_range('1/1/2013',periods=4))
print df
0
2013-01-01 1
2013-01-02 1
2013-01-03 1
2013-01-04 1
如何通过指定0索引重新索引DataFrame并让它自动填充其余索引?例如,如果我将最后一项的索引指定为0,那么我应该具有以下内容:
0
-3 1
-2 1
-1 1
0 1
修改
我没有指定行号,而是指定0索引的目标日期。
答案 0 :(得分:2)
这会有用吗?我假设您正在丢弃当前索引并切换到整数索引。
In [132]: df = pd.DataFrame([1,1,1,1], index=pd.date_range('1/1/2013',periods=4))
In [133]: target_zero_row = df.index.get_loc('2013-01-04')
In [134]: df.index = pd.np.arange(df.shape[0]) - target_zero_row
In [135]: df
Out[135]:
0
-3 1
-2 1
-1 1
0 1
[4 rows x 1 columns]
你也可以通过这种方式实现同样的目标:
In [180]: df = pd.DataFrame([1,1,1,1], index=pd.date_range('1/1/2013',periods=4))
In [181]: target_zero_row = df.index.get_loc('2013-01-04')
In [182]: df.reset_index(drop=True, inplace=True)
In [183]: df.index = df.index + (-target_zero_row)
In [184]: df
Out[184]:
0
-3 1
-2 1
-1 1
0 1
[4 rows x 1 columns]