我有以下Pandas系列:
s = pd.Series([False, True, True, False, True, True, True, False, True])
如何获得元组列表,每个元组表示连续True间隔的开始和结束索引。对于上面的片段,预期结果是:
[(1, 2), (4, 6), (8, 8)]
IIUC
t=s[s].index.to_series()
t.groupby(t.diff().ne(1).cumsum()).agg(['first','last']).apply(tuple,1).tolist()
Out[257]: [(1, 2), (4, 6), (8, 8)]