我具有以下有关日期和因子的以下数据。在熊猫数据框中。 ...表示这些日期之间的数据。 没有因素意味着它是空白。
Date Factor
1 Jan 1990 1
2 Jan 1990
... ...
5 May 1991 0.5
6 May 1991
.... ...
5 May 1992
6 May 1992 2
... ...
10 March 1995 0.1
... ...
17 June 1997 3
我需要创建一个新列,该列会随着时间的流逝但会累积所有可用日期的累积积。
所以现在在我列出的那些日期之间有日期,但是在这些日期之间列的行是空白的。
如何在熊猫中自动执行此过程?
Date Factor Cumprod
1 Jan 1990 1 1
2 Jan 1990 1
... ... ...
5 May 1991 0.5 0.5 (0.5 * 1)
6 May 1991 0.5
.... ... 0.5
5 May 1992 0.5
6 May 1992 2 1.0 (0.5 * 2 * 1)
... ... ..
10 March 1995 0.1 0.1 (0.5 * 2 * 1 * 0.1)
... ... ...
17 June 1997 3 0.3 (0.5 * 2 * 1 * 0.1 * 0.3)
该cumprod将计算为一个因子,该因子将显示在它旁边的行中。并且即使旁边的行中有空白,也应使用在其上方计算出的cumprod,并用它来填充空白行。
答案 0 :(得分:0)
尝试一下:
df['Cumprod'] = df['Factor'].cumprod()
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.cumprod.html