Допустим, у меня есть DataFrame, который выглядит следующим образом:
Categories Values
0 Category 0 1
1 Category 0 0
2 Category 0 -1
3 Category 0 0
4 Category 1 1
5 Category 1 0
6 Category 1 -1
7 Category 1 0
8 Category 2 1
9 Category 2 0
10 Category 2 -1
11 Category 2 0
12 Category 3 -1
13 Category 3 0
14 Category 3 0
15 Category 3 1
16 Category 4 -1
17 Category 4 0
18 Category 4 0
19 Category 4 1
20 Category 5 -1
21 Category 5 0
22 Category 5 0
23 Category 5 1
Я хочу эффективный по времени способ получить две вещи из последних ненулевых записей значений в каждой группе:
(1): индексы,
(2): записи
Желаемый результат (1): [2,6,10,15,19, 23] в форме панд Серии
Желаемый результат (2): [-1, -1, -1,1,1,1] в форме панд Серии
Заранее спасибо, ребята
РЕДАКТИРОВАТЬ: добавлен код Python для генерации вышеупомянутого DataFrame:
import pandas as pd
n = 4
m = 3
df = pd.DataFrame({'Categories': [f'Category {i//n}' for i in range(2*m*n)],
'Values' : [1,0,-1,0]*m+ [-1,0,0,1]*m})