Как сделать аггрегированную таблицу по значениям списков

Есть DataFrame:

df = pd.DataFrame({'letters': [['a'], ['a', 'b'], ['a', 'b', 'c'], ['a', 'b', 'c' ,'d']],
                   'values': [1, 10, 100, 1000]})
letters values
a 1
a, b 10
a, b, c 100
a, b, c, d 1000

Нужно посчитать сумму значений для каждой буквы, чтобы на выходе получилась такая таблица:

letters sum_values
a 1111
b 1110
c 1100
d 1000

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

Автор решения: strawdog
res = df.explode("letters").groupby("letters").sum().reset_index()

res:

  letters  values
0       a    1111
1       b    1110
2       c    1100
3       d    1000
→ Ссылка