2
我有一個數據框,其中包含日期作爲索引,值列存儲連續日期(即索引中的日期)之間的增長百分比。假設我想通過在指數的第一個日期設置100個基數來計算「實際」值,然後反覆應用增長百分比。使用cumprod方法很容易。'熊貓'的負反射
現在,我想在索引中設置100個基準日期。因此,我需要爲指數中的每個日期計算'反向'增長。有沒有一種簡單的方法(和pythonic)與熊貓做到這一點?
問候,
Allia
我有一個數據框,其中包含日期作爲索引,值列存儲連續日期(即索引中的日期)之間的增長百分比。假設我想通過在指數的第一個日期設置100個基數來計算「實際」值,然後反覆應用增長百分比。使用cumprod方法很容易。'熊貓'的負反射
現在,我想在索引中設置100個基準日期。因此,我需要爲指數中的每個日期計算'反向'增長。有沒有一種簡單的方法(和pythonic)與熊貓做到這一點?
問候,
Allia
考慮數據框df
用10天的隨機回報。
np.random.seed([3,1415])
tidx = pd.date_range('2012-04-01', periods=10)
df = pd.DataFrame(dict(A=np.random.rand(10)/10), tidx)
df
A
2012-04-01 0.044494
2012-04-02 0.040755
2012-04-03 0.046015
2012-04-04 0.046524
2012-04-05 0.046269
2012-04-06 0.001655
2012-04-07 0.085045
2012-04-08 0.081774
2012-04-09 0.077796
2012-04-10 0.075798
你想用cumprod
然後由最後一個值
dcum = df.add(1).cumprod()
dcum.div(dcum.iloc[-1]).mul(100)
A
2012-04-01 61.539104
2012-04-02 64.047157
2012-04-03 66.994277
2012-04-04 70.111111
2012-04-05 73.355090
2012-04-06 73.476459
2012-04-07 79.725230
2012-04-08 86.244715
2012-04-09 92.954225
2012-04-10 100.000000
像這樣劃分的? 'SER [:: - 1] .cumprod()' – ayhan