让我们用diff
比较BrkPressState
列中的前一行和当前行,以确定边界,然后用mask
和shift
比较VehSpdGS
列中的值
m = df['BrkPressState'].diff().ne(0)
df['Results'] = df['VehSpdGS'].mask(~m).shift(-1)
BrkPressState VehSpdGS Results
0 1 2 NaN
1 1 3 NaN
2 1 2 NaN
3 1 4 12.0
4 0 12 NaN
5 0 13 NaN
6 0 11 3.0
7 1 3 15.0
8 0 15 NaN
9 0 14 NaN
10 0 15 12.0
11 1 12 NaN
12 1 13 14.0
13 0 14 NaN