Предположим, у меня есть pandas DataFrame, ниже которого уже отсортировано по столбцу A
.Как я могу группировать отсортированный DataFrame по критерию остановки?
import pandas as pd
data = {'A': range(15),
'B': range(5)*3}
df = pd.DataFrame(data)
# just in case:
df.sort('A', inplace=True)
В результате dataframe выглядит примерно так:
A | B
-----
0 | 0
1 | 1
2 | 2
3 | 3
4 | 4
5 | 0
6 | 1
7 | 2
8 | 3
9 | 4
10 | 0
11 | 1
12 | 2
13 | 3
14 | 4
Я хотел бы, чтобы сгруппировать это в три группы на основе «точек остановки» в колонке B
где значение этого столбца идет вниз от 4 до 0. Наивное использование groupby не может учитывать это, потому что нет ключа, который отличает группы.
Было бы просто сделать это, перебирая отдельные строки в отсортированном порядке, но мне было интересно, существует ли решение, основанное на pandas.
возможно это может помочь: http://pandas.pydata.org/pandas-docs/stable/groupby.html –