我有一个如下的Pandas数据框:
df = pd.DataFrame({'X':[1,1,1, 0, 0]})
df
X
0 1
1 1
2 1
3 0
4 0
现在我想创建另一个变量“Y”,并且Y的值应基于以下条件:
If X = 1 , Y=1
If X = 0 and previous X = 1, Y = 2
If X = 0 and previous x = 0, Y = 0
因此,我的最终输出应如下所示:
X Y
0 1 1
1 1 1
2 1 1
3 0 2
4 0 0
可以通过迭代行并设置当前行和上一行,然后使用iloc来实现此操作,但我想更有效地快速完成此操作。