データフレームがあり、インデックスの値を使用して別の列を作成したいと考えています。
例えば:
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
私はこのようなことをしたいと思います:
df['idx1_mod']= df['idx1'] + 100
(本当はもっと複雑なことをしたいのですが、基本的にはインデックスの値が必要です。)
現在、インデックスをリセットして (インデックス フィールドを列として取得するため)、列にアクセスして計算を行い、インデックスを再作成しています。私は明らかな何かを見逃していると確信していますが、私はたくさん見て、それを見逃し続けています!
注 - df.iterrows() も試しましたが、行のコピーが作成され、元のデータフレームを更新できないようです。