У меня есть mydf
ниже, который я отсортировал по пустому столбцу time
и id
:
mydf = pd.DataFrame(
{
'id': ['A', 'B', 'B', 'C', 'A', 'C', 'A'],
'time': [1, 4, 3, 5, 2, 6, 7],
'val': ['a', 'b', 'c', 'd', 'e', 'f', 'g']
}
).sort_values(['id', 'time'], ascending=False)
mydf
id time val
5 C 6 f
3 C 5 d
1 B 4 b
2 B 3 c
6 A 7 g
4 A 2 e
0 A 1 a
Я хочу добавить столбец (last_val
), который для каждый уникальный id
содержит самый последний val
на основе столбца time
. Записи, для которых нет last_val
, могут быть удалены. Вывод в этом примере будет выглядеть так:
mydf
id time val last_val
5 C 6 f d
1 B 4 b c
6 A 7 g e
4 A 2 e a
Есть идеи?