Как объединить значения в одной колонке в list?

Допустим, имеется DataFrame:

id value
1 1
1 2
1 3
2 4
2 5
2 6

Требуется преобразовать его к формату:

id value
1 [1, 2, 3]
2 [4, 5, 6]

В принципе, преобразовать данные к такому виду можно перебором каждого id, вводя доп. переменную и создавая новый DataFrame.

Но мне интересно, есть ли решение данной задачи только средствами Pandas без ввода дополнительных переменных?


Ответы (1 шт):

Автор решения: MaxU

группируем по id и применяем к группам values - list:

res = df.groupby("id")["value"].apply(list).reset_index()

результат:

In [433]: res
Out[433]: 
   id      value
0   1  [1, 2, 3]
1   2  [4, 5, 6]
→ Ссылка