python - 如何使用移位函数执行计算

python - How do I perform the calculation using shift function

下面是df

df = pd.DataFrame({
                   'Sr. No': [1, 2, 3, 4, 5, 6],
                    'val1' : [2,3,2,4,1,2],

})

我希望 Val2 的第一行与 val1 的第一行相同 但是公式的第 2 行和下方如图所示。我假设它应该是一个简单的转变,但我只是没有解决这个问题。

这是 mulcumsum:

df["new"] = df["Sr. No"].mul(df["val1"]).cumsum()

print (df)

   Sr. No  val1  new
0       1     2    2
1       2     3    8
2       3     2   14
3       4     4   30
4       5     1   35
5       6     2   47