Предположим, у меня df
ниже:
df = pd.DataFrame({
'A': ['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b'],
'B': [False, True, False, False, True, False, False, True]
})
df
уже отсортировано по A
(очевидно) и времени (по убыванию). Таким образом, для каждой группы, определенной A
, значения B
сортируются по времени по убыванию. Я хочу добавить столбец C
, который для каждой группы равен True
, если в прошлом в B
было значение True
. Результат будет выглядеть так:
A B C
0 a False True
1 a True False
2 a False False
3 a False False
4 b True True
5 b False True
6 b False True
7 b True False
Я подозреваю, что мне нужно как-то использовать groupby()
и idxmax()
, но я не смог заставить его работать. Есть идеи?