s = pd.DataFrame({'indicator': [0, 0, 0, -1, 0, 0, 1, 0, -1, 1, 0, -1, 0, 1]}
    ).squeeze()
s1 = s[s != 0]
idx = s1.loc[(s1 == -1) & (s1 != s1.shift(-1))].index
s2 = s1.index.to_series().shift(-1).loc[idx].astype(int)
zip(s2.index, s2.values)
Detecting events in a pandas data frame