I have a Dataframe with the following structure
| time_start | time_end | label |
|---|---|---|
| time | time + 1 | action |
| time + 1 | time + 2 | some_other_action |
I would like to take see the diff of time_start and previous row time_end. in this case (time + 1) - (time + 1) = 0
I have tried df.diff, but that only yields the diff within either columns or rows.
Any ideas of how I can perform this “jagged diff”?
Advertisement
Answer
The solution was what @Quang Hoang mentioned in a comment.
df['time_start'] - df['time_end'].shift(periods=1)
Note that periods can be negative to shift in the other direction.
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.shift.html