Как сгрупировать по ID все значения в лист?

Есть фрейм данных со столбцами id и value. Для одного id есть несколько полей с разными значениями.

Как пройтись циклом for, чтобы переместить все значения в одну строку через запятую?

Входные данные:

id value 
-- -----
0  7984 
0  488 
0  333 
0  499 
1  22 
1  445

Ожидаемые данные:

id value 
-- -----
0  [7984, 488, 333, 499]
1  [22, 445]

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

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

Группируем по одному столбцу, а значения другого преобразовываем в списки:

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

результат:

In [25]: res
Out[25]:
   id                  value
0   0  [7984, 488, 333, 499]
1   1              [22, 445]
→ Ссылка
Автор решения: Danis
dict_ = {}

for id, value in zip(data["id"], data["value"]):
    try:
        dict_[id].append(value)
    except:
        dict_[id] = [value]

res = pd.DataFrame([{"id": list(dict_.keys()), "value": list(dict_.values())}]).T
→ Ссылка