亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 從返回中創建索引

Python 從返回中創建索引

一只萌萌小番薯 2023-02-22 15:15:37
我有一個投資組合回報的數據框:date          Portfolio %30/11/2001     4.831/12/2001    -0.731/01/2002     1.328/02/2002    -1.429/03/2002     3.3我需要創建一個回報指數,但要做到這一點,我需要有一個 1.0 的起始數字,并且公式引用了前一行。輸出應如下所示:date          Portfolio %   Index               1.0          NaN30/11/2001     4.8          1.048          31/12/2001    -0.7          1.04031/01/2002     1.3          1.05428/02/2002    -1.4          1.03929/03/2002     3.3          1.073例如,第二個結果的公式是: 1.048*(1+-0.7/100) 我已經嘗試了以下代碼,但沒有得到所需的結果。portfolio['Index'] = portfolio['Portfolio %'] / portfolio['Portfolio %'].iloc[0]我遇到的問題:我無法獲得起始變量我無法獲得引用前一行的公式。我相信這與這篇文章是同一個問題:Create and index from returns PANDAS。然而,它從未得到完整的回答。
查看完整描述

1 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

使用,?Series.div,Series.add連同Series.cumprod:


df['Index'] = df['Portfolio %'].div(100).add(1).cumprod()

結果:


# print(df)


? ? ? ? ?date? Portfolio %? ? ?Index

0? 30/11/2001? ? ? ? ? 4.8? 1.048000

1? 31/12/2001? ? ? ? ?-0.7? 1.040664

2? 31/01/2002? ? ? ? ? 1.3? 1.054193

3? 28/02/2002? ? ? ? ?-1.4? 1.039434

4? 29/03/2002? ? ? ? ? 3.3? 1.073735


查看完整回答
反對 回復 2023-02-22
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號