Как объединить значения в одной колонке в 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]