split dataframe `df` where the value of column `a` is equal to 'B',df.groupby((df.a == 'B').shift(1).fillna(0).cumsum())