I have a DataFrame similar to below. I am trying to calculate a rolling count of how many times it switches from False to True. 

```
Time   True/False
 1         0
 2         1
 3         1
 4         0
 5         0
 6         0
 7         1
 8         1
 9         0
 10        1
 11        0

```

The code below is what I have come up with using ```numpy.where, but I am not getting the results I want. 

```
Test['RollingCount'] = np.where(Test['True/False'] == 0, Test['RollingCount'].shift(1),
                       np.where((Test['True/False'] == 1) & (Test['True/False'].shift(1) == 1), Test['RollingCount'].shift(1),
                       np.where((Test['True/False'] == 1) & (Test['True/False'].shift(1) == 0), (Test['RollingCount'].shift(1) + 1),
                       np.where(Test['True/False'] == 1, 1, 0))))

```

Below is the output I am trying to accomplish. Any idea what I am doing wrong? Is there a better way to approach this?

```
Time   True/False   RollingCount
 1         0              0
 2         1              1
 3         1              1
 4         0              1
 5         0              1
 6         0              1
 7         1              2
 8         1              2
 9         0              2
 10        1              3
 11        0              3

```