У меня есть Pandas фрейм данных, который включает переменную группировки. Пример можно получить с помощью:
df = pd.DataFrame({'grp':['a','a','b','b','b','c','d','d','d','d'],
'data':[4,5,3,6,7,8,9,8,7,3]})
..., который выглядит следующим образом:
grp data
0 a 4
1 a 5
2 b 3
3 b 6
4 b 7
5 c 8
6 d 9
7 d 8
8 d 7
9 d 3
Я могу получить последние две строки каждой группы, используя:
dfgrp = df.groupby('grp').tail(2)
Однако я хотел бы создать маску, которая идентифицирует последние две строки (или 1 строку, если существует только 1), в идеале создавая вывод, который выглядит следующим образом:
0 True
1 True
2 False
3 True
4 True
5 True
6 False
7 False
8 True
9 True
Я думал, что это будет относительно простой, но я не смог найти решение. Предложения будут с благодарностью.