Я пытаюсь суммировать числа в списке в DataFrame
.Аргумент TypeError(int())
должен быть строкой, байтовоподобным объектом или числом, а не «списком») с использованием метода sum()
, и я не могу найти лучшего способа сделать это.
Вот мой DataFrame:
movie_id user_id rating title
0 1 [1, 2, 5] [5, 4, 4] [Toy Story (1995), Toy Story (1995), Toy Story...
1 2 [1, 5] [3, 3] [GoldenEye (1995), GoldenEye (1995)]
2 3 [1] [4] [Four Rooms (1995)]
3 4 [1] [3] [Get Shorty (1995)]
4 5 [1] [3] [Copycat (1995)]
5 6 [1] [5] [Shanghai Triad (Yao a yao yao dao waipo qiao)...
6 7 [1] [4] [Twelve Monkeys (1995)]
7 8 [1] [1] [Babe (1995)]
8 9 [1] [5] [Dead Man Walking (1995)]
Я хочу суммировать числа в каждом списке столбца «рейтинг» и добавить столбец, показывающий сумму для каждой строки.Например: [5, 4, 4] => 13, [3, 3] => 6
и т.д ...
Вот краткий обзор моего кода:
s = df.loc[0:0, 'rating'].tolist()
вывод: [[5, 4, 4]]
Пока я пробовал:
s = sum(int(i) for i in s)
s
, но это привело к ошибке TypeError.
Я думаю, если бы я мог превратить вывод s в список, такой как [5, 4, 4]
, это решило бы проблему, или естьлучшие способы сделать?
И, так как я могу только суммировать строки за раз, есть ли способ суммировать список каждой строки сразу?