You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对DataFrame字典列的键求和、键值对相乘后求和

错误原因

你之前使用的df.type.keys()调用的是pandas Series对象的keys()方法,返回的是整个Series对应的行索引,求和后是固定值,所以所有行的col2结果都相同。你需要对type列的每一个字典元素单独执行计算,用apply方法逐行处理即可实现需求。

实现代码

# 计算键的总和得到col2
df['col2'] = df['type'].apply(lambda x: sum(x.keys()))
# 计算键值乘积的总和得到col3
df['col3'] = df['type'].apply(lambda x: sum(k * v for k, v in x.items()))

如果数据量较大想要更高的运行效率,也可以用列表推导式代替apply:

df['col2'] = [sum(x.keys()) for x in df['type']]
df['col3'] = [sum(k * v for k, v in x.items()) for x in df['type']]

内容的提问来源于stack exchange,提问作者gh1222

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:15:03