当 pandas 数据框 window 中的项目相同时,如何 return 第一项?

How to return first item when the items in the pandas dataframe window are the same?

我是 python 初学者。 我有以下 pandas DataFrame,只有两列; “时间”和“输入”。

我想遍历“输入”列。假设我们有一个 window 大小 w= 3。(三个连续值)这样对于每个选定的 window,我们将检查 window 中的所有 items/elements 是否都是 1 , 然后 return 第一项为 1 并将其余值更改为 0。

index Time  Input
0     11      0
1     22      0
2     33      0
3     44      1
4     55      1
5     66      1
6     77      0
7     88      0
8     99      0
9   1010      0
10  1111      1
11  1212      1
12  1313      1
13  1414      0
14  1515      0

我的预期输出如下

index   Time  Input  What_I_got  What_I_Want
    0     11      0           0            0
    1     22      0           0            0
    2     33      0           0            0
    3     44      1           1            1
    4     55      1           1            0
    5     66      1           1            0
    6     77      1           1            1
    7     88      1           0            0
    8     99      1           0            0
    9   1010      0           0            0
    10  1111      1           1            1
    11  1212      1           0            0
    12  1313      1           0            0
    13  1414      0           0            0
    14  1515      0           0            0

我应该怎么做才能获得所需的输出?我的代码中是否遗漏了什么?

导入 pandas 作为 pd 导入重新

 pd.Series(list(re.sub('111', '100', ''.join(df.Input.astype(str))))).astype(int)
Out[23]: 
0     0
1     0
2     0
3     1
4     0
5     0
6     1
7     0
8     0
9     0
10    1
11    0
12    0
13    0
14    0
dtype: int32