我有一个数据框,
x y z new_col
1 2 3 1
1 2 3 4
1 2 3 7
1 2 3 10
1 2 3 13
想要创建一个新列并将值 1 设置为第一行。 新列的所有其他值将是 1+3(z 中的 3),然后是 4+3,依此类推。
请您参考如下方法:
您可以执行移位累加和:
df['new'] = 1 + df['z'].shift().fillna(0).astype(int).cumsum()
print(df)
x y z new
0 1 2 3 1
1 1 2 3 4
2 1 2 3 7
3 1 2 3 10
4 1 2 3 13
