熊猫:如何获取索引值

Ros*_*s R 1 python pandas

我有一个数据框,并希望使用索引中的值来创建另一列。
例如:

df=pd.DataFrame({'idx1':range(0,5), 'idx2':range(10000,10005), 'value':np.random.randn(5)})
df.set_index(keys=['idx1','idx2'], inplace=True)
print df

               value
idx1 idx2           
0    10000 -1.470367
1    10001  0.260693
2    10002 -0.732319
3    10003 -0.116977
4    10004  1.106644
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

df['idx1_mod']= df['idx1'] + 100
Run Code Online (Sandbox Code Playgroud)

(实际上,我想做更复杂的事情,但是基本上我需要索引的值。)

现在,我要重置索引(将索引字段作为列),通过对列的访问来进行计算,然后重新创建索引。我确定我遗漏了一些明显的东西,但是我看上去已经一吨不漏了!

注意-我也尝试了df.iterrows(),但似乎提供了该行的副本,并且不允许我更新原始数据帧。

HYR*_*YRY 6

df["idx1_mod"] = df.index.get_level_values(0).values + 100
Run Code Online (Sandbox Code Playgroud)