Excel数组累加乘法在Pandas中的复制

2024-04-29 01:37:59 发布

您现在位置:Python中文网/ 问答频道 /正文

如果你有一个36个月前的月度回报时间序列。我需要将它们逐月相乘,得到3600万的复合回报。在excel中,我使用了一个数组函数,比如=((PRODUCT(1+(H3:AQ3)/100))-1)*100,其中单元格是时间序列

在pandas中,我看到cumprod是适用的,但是我需要在接下来的每个月加1,这样我就不会得到非常小的数字。如何在python中执行此操作

返回从旧到新的示例数据框:

df=pd.DataFrame(data=[0.038,
0.041,
0.045,
0.051,
0.05,
0.058,
0.066,
0.061,
0.07,
0.075,
0.082,
0.084,
0.093,
0.072,
0.092,
0.096,
0.096,
0.11,
0.122,
0.114,
0.137,
0.292,
0.158,
0.163,
0.174,
0.175,
0.173,
0.186,
0.186,
0.201,
0.209,
0.189,
0.208,
0.201,
0.205,
0.194596400000013])

Tags: 数据函数示例pandasdf时间序列数字
2条回答

只需沿着列轴(0)使用product方法

((df/100 + 1).product(axis=0) - 1) * 100

Pandas允许您仅使用+运算符向每个元素添加常量。所以呢

(df + 1).cumprod() - 1

你应该得到你想要的

相关问题 更多 >