#python #python-3.x #pandas #dataframe
Вопрос:
У меня есть фрейм данных pandas с форматом:
Состояние | Группа | |
---|---|---|
1 | Правда | 0 |
2 | Ложный | 0 |
3 | Правда | 0 |
4 | Правда | 0 |
… | … | … |
Я хочу обновить его таким образом, чтобы номер группы был один плюс номер предыдущей группы, только если условие верно:
Состояние | Группа | |
---|---|---|
1 | Правда | 0 |
2 | Ложный | 0 |
3 | Правда | 1 |
4 | Правда | 2 |
… | … | … |
Каков самый простой способ сделать это? Проще ли использовать цикл, или есть более эффективный или читаемый способ работы с пандами?
Ответ №1:
Это кончает:
s = df['Condition'].cumsum()
df['Group'] = s - s.min()