熊猫-根据股票分割调整股价

时间:2020-06-01 10:53:56

标签: python pandas

我有一个DataFrame,其中包含价格数据和股票分割数据。 我想将所有价格都放在同一页上,因此,例如,如果我们的股票分割为0.11111(1/9), 从现在起,所有股票价格将乘以9。

例如,如果这是我的初始数据帧:

df=         Price  Stock_Splits
         0   100       0 
         1   99        0
         2   10        0.1111111
         3   8         0
         4   8.5       0
         5   4         0.5

“价格”列将变为:

 df=         Price  Stock_Splits
         0   100       0 
         1   99        0
         2   90        0.1111111
         3   72         0
         4   76.5       0
         5   72         0.5

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:4)

这里是一个例子:

df['New_Price'] = (1 / df.Stock_Splits).replace(np.inf, 1).cumprod() * df.Price

   Price  Stock_Splits   New_Price
0  100.0      0.000000  100.000000
1   99.0      0.000000   99.000000
2   10.0      0.111111   90.000009
3    8.0      0.000000   72.000007
4    8.5      0.000000   76.500008
5    4.0      0.500000   72.000007