если у меня есть такой фрейм данных:
category name index
A A11 1
A A12 1
A A13 1
A A21 2
A A22 2
A A23 2
...
B B11 1
B B21 2
...
Я хочу сначала сгруппировать фрейм данных по категории и индексу, а внутри каждой группы я хочу сместить столбец name
на значениеindex (обратное смещение) - 1.
Таким образом, результат будет выглядеть следующим образом:
category name index
A A11 1 # Do not shift anything because index is 1
A A12 1
A A13 1
A A22 2 # Shift -1 for anything in (A, 2) group because index here is 2
A A23 2
A A24 2
...
B B11 1
B NA 2 # at the end of each group it should be NA
Я пытался использовать .groupby (), а затем .apply (), но кажется, что тамЭто не простой способ присоединить результат обратно к кадру данных.Кажется, что метод apply может возвращать только серию.Как я могу добиться этого с помощью метода apply?