Python中如何对字典指定键的列表值求和?附代码场景
对字典指定键的列表值求和并生成目标格式字典
你可以用字典推导式结合Python内置的sum()函数快速实现这个需求,代码简洁又易读。下面是具体的解决方案:
步骤1:优化变量名(可选但推荐)
先注意一下:你用了filter作为变量名,这是Python的内置函数,容易引发命名冲突,建议重命名为filter_dict:
filter_dict = { 'Negatif ': [4.0, 2.0, 3.0, 1.0], 'Netral ': [3.0, 1.0, 3.0, 1.0], 'Positif ': [0, 0, 1.0, 1.0], 'tanggal': [ '2019-08-27 00:00:00', '2019-08-28 00:00:00', '2019-08-29 00:00:00', '2019-08-30 00:00:00' ] }
步骤2:生成目标结果
先定义需要处理的情感键列表,再用字典推导式遍历每个键,计算对应列表的总和并包装成列表格式:
# 指定需要计算总和的目标情感键 target_sentiments = ['Negatif ', 'Netral ', 'Positif '] # 生成符合要求的结果字典 sum_result = {sentiment: [sum(filter_dict[sentiment])] for sentiment in target_sentiments} print(sum_result)
运行这段代码后,输出就是你期望的:
{'Negatif ': [10.0], 'Netral ': [9.0], 'Positif ': [2.0]}
额外优化:从DataFrame直接计算(更高效)
其实你完全可以在DataFrame阶段就完成求和,不用等到转成字典再处理,这样能减少中间环节,更符合Pandas的使用习惯:
# 直接对原始DataFrame按情感分组计数求和 sentiment_totals = df.groupby('hasil_sentimens').size().to_dict() # 转成你需要的列表格式 sum_result_from_df = {key: [value] for key, value in sentiment_totals.items()}
内容的提问来源于stack exchange,提问作者lockey
相关产品推荐
相关产品推荐

