首页 > 解决方案 > 对 Pandas 数据框每一行中包含的列表中的值求和

问题描述

我有一个 df 列中的每一行"numbers"都是浮点数列表。我想用这些浮点数的总和向 df 添加一列。

#current output
letter   numbers
a        [0.0, 0.1, 2.3]
b        [5, 6.7, 11.21] 

#desired output
letter   numbers           sum_result
a        [0.0, 0.1, 2.3]   2.4
b        [5, 6.7, 11.21]   22.91  

我已经尝试过 sum(df.numbers) 并收到此错误消息

TypeError: unsupported operand type(s) for +: 'int' and 'list'

任何帮助,将不胜感激!

标签: pythonpandaslistdataframe

解决方案


Series.apply与 一起使用sum

df['sum_result'] = df['numbers'].apply(sum)

或者list comprehension

df['sum_result'] = [sum(x) for x in df['numbers']]

推荐阅读