I have below pandas DataFrame
| color | direction | Total |
|---|---|---|
| -1.0 | 1.0 | NaN |
| 1.0 | 1.0 | 0 |
| 1.0 | 1.0 | 0 |
| 1.0 | 1.0 | 0 |
| -1.0 | 1.0 | NaN |
| 1.0 | -1.0 | NaN |
| 1.0 | 1.0 | 0 |
| 1.0 | 1.0 | 0 |
I am trying to update the total column based on below logic.
if df['color'] == 1.0 and df['direction'] == 1.0 then Total should be Total of previous row + 1. if Total of previous row is NaN, then 0+1
Note: I was trying to read the previous row total using df['Total'].shift() + 1 but it didnt work.
Expected DataFrame.
| color | direction | Total |
|---|---|---|
| -1.0 | 1.0 | NaN |
| 1.0 | 1.0 | 1 |
| 1.0 | 1.0 | 2 |
| 1.0 | 1.0 | 3 |
| -1.0 | 1.0 | NaN |
| 1.0 | -1.0 | NaN |
| 1.0 | 1.0 | 1 |
| 1.0 | 1.0 | 2 |