У меня есть Pandas фрейм данных, подобный приведенному ниже.
+--------+-------------------+
| worker | day | tasks |
+--------+-------------------+
| A | 2 | 'read' |
| A | 9 | 'write' |
| B | 1 | 'read' |
| B | 2 | 'write' |
| B | 4 | 'execute' |
+--------+-------------------+
Мне нужно сгруппировать фрейм данных по [col_1, day] и получить общий список задач. например, если работник 'A' имеет задачу 'чтение' во 2-й день, тогда задачи для 9-го дня должны быть ['читать', 'писать'] список.
Требуемый фрейм данных выглядит так:
+--------+-------------------------------------+
| worker | day | aggregation |
+--------+-------------------------------------+
| A | 2 | ['read'] |
| A | 9 | ['read', 'write'] |
| B | 1 | ['read'] |
| B | 2 | ['read', 'write'] |
| B | 4 | ['read', 'write', 'execute']|
+--------+-------------------------------------+
Я пытался использовать cumsum
df = df.groupby(['worker', 'day'])['tasks'].apply(list).reset_index(name='aggregation').cumsum()
Но он собирает накопление для всех столбцов, а не внутри групп для определенного столбца.