Установите значение в строке на значение в последней строке 1, только если условие выполнено

#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()