Итак, у меня есть фрейм данных, в котором я хочу объединить несколько строк с помощью группы.
Пример DF,
col_a col_b col_c col_e col_f
0 1 0 1 -1.0 2
1 1 1 3 0.0 3
2 1 2 4 NaN 3
3 2 0 3 4.0 6
4 3 0 3 4.0 2
И я хочу, чтобы вывод выглядел следующим образом...
df.groupby('col_a')
col_a, col_c ...col_f
1 {0: 1, 1: 3, 2:4} {0:2,1:3,2:3}
2 .... ....
3 .... ....
По сути, группируем по col_a, затем агрегируем все значения, которые мы получили для col_c через col_f, устанавливаем значения в словарь, где col_b - ключ словаря.
Не уверенесли есть способ использовать groupby и, возможно, какую-то функцию agg, или если я просто смирился с написанием функции python, которая берет фрейм данных и просто перебирает каждую строку и использует .apply.Идеи?
Редактировать:
Original:
col_a col_b col_c col_e col_f
0 1 A 1 -1.0 2
1 1 B 3 0.0 3
2 1 C 4 NaN 3
3 2 A 3 4.0 6
4 3 A 3 4.0 2
Desired:
col_a, col_c ...col_f
1 {A: 1, B: 3, C:4} {A:2,B:3,C:3}
2 .... ....
3 {A:3} {A:2}