我如何根据每列的前一行创建一个包含单元格值的新数据框?

How can i create a new dataframe with cell values based on the previous row for each column?

我是 python 的新手,所以我需要问这个问题:

我有这个数据框:

我需要知道如何获得具有此结果的新数据框:

从第二行(索引 1)开始,要应用的公式是: previous row cell value *(1+actual cell value).

您可以使用 .cumprod() 计算第一个行之后的累积乘积。在这里,我从第二行开始,将这些加 1 并计算累积乘积。然后我将它乘以第一行。

(df.iloc[1:]+1).cumprod() * df.iloc[0]

然后使用 pd.concat():

将数据帧的第一行 df.head(1) 与计算出的数据帧连接起来
pd.concat([df.head(1), ((df.iloc[1:]+1).cumprod() * df.iloc[0])], ignore_index=True)

这可以分成几个部分:

# calculation
df2 = (df.iloc[1:]+1).cumprod() * df.iloc[0]
# concatenate the first row of df with the calculation
pd.concat([df.head(1), df2], ignore_index=True)