python - 对 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'
任何帮助,将不胜感激!
解决方案
Series.apply
与 一起使用sum
:
df['sum_result'] = df['numbers'].apply(sum)
或者list comprehension
:
df['sum_result'] = [sum(x) for x in df['numbers']]
推荐阅读
- python - O(log n) 在已排序的 Python 字典中搜索
- python - 随机网页刮美丽汤
- ios - NavigationLink 在 swiftUi 中重复
- c++ - 在类构造函数中使用结构变量
- r - 在 R 中附加 ifelse
- javascript - 一个框架。使用 Javascript 更改文本标签内的值
- python - 将多项式曲面拟合到表示曲线族的 3D 数据帧
- excel - 是否有将用户表单复制到另一个工作簿的安全方法?
- javascript - 如何在纯 html/javascript 中使用 URL 文件路径作为参数?
- marklogic - MarkLogic 中的“范围”范围查询?