我如何使用shift函数执行计算

问题描述

下面是df

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

我希望Val2使得第一行与val1的第一行相同 但公式的第2行及以下显示图片。我认为这应该是一个轻松的转变,但只是不要让我着迷。

enter image description here

enter image description here

enter image description here

解决方法

这是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