首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python对字典中数组的值求和?

如何使用python对字典中数组的值求和?
EN

Stack Overflow用户
提问于 2021-01-26 20:30:11
回答 2查看 38关注 0票数 2

字典数据如下所示

代码语言:javascript
复制
[
{'br' : 'Kadek', 'mnt' : '2020-10', 'vl' : 30},
{'br' : 'Kadek', 'mnt' : '2020-10', 'vl' : 40},
{'br' : 'Kadek', 'mnt' : '2020-10', 'vl' : 20},
{'br' : 'Dede', 'mnt' : '2020-5', 'vl' : 20},
{'br' : 'Dede', 'mnt' : '2020-5', 'vl' : 40},]

且如果仅br和mnt具有相同值,则结果是sum vl

代码语言:javascript
复制
[
{'br' : 'Kadek', 'mnt' : '2020-10', 'vl' : 90},
{'br' : 'Dede', 'mnt' : '2020-5', 'vl' : 60}
]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-26 20:40:55

如果您可以使用pandas,请尝试以下操作:

代码语言:javascript
复制
import pandas as pd 
data = [{'br' : 'Kadek', 'mnt' : '2020-10', 'vl' : 30},
{'br' : 'Kadek', 'mnt' : '2020-10', 'vl' : 40},
{'br' : 'Kadek', 'mnt' : '2020-10', 'vl' : 20},
{'br' : 'Dede', 'mnt' : '2020-5', 'vl' : 20},
{'br' : 'Dede', 'mnt' : '2020-5', 'vl' : 40}]

# turn data into a pandas dataframe
df = pd.DataFrame(data)
# take the sum when br and mnt are the same
df_grouped = df.groupby(['br','mnt']).agg({'vl':'sum'}).reset_index()
df_grouped

这将输出以下内容:

代码语言:javascript
复制
    br      mnt     vl
0   Dede    2020-5  60
1   Kadek   2020-10 90

如果确实需要,可以使用以下命令将其重新转换为字典列表:

代码语言:javascript
复制
df_grouped.to_dict('records')
票数 3
EN

Stack Overflow用户

发布于 2021-02-01 23:53:08

代码语言:javascript
复制
from collections import Counter 

data = [
{'br' : 'Kadek', 'mnt' : '2020-10', 'vl' : 30},
{'br' : 'Kadek', 'mnt' : '2020-10', 'vl' : 40},
{'br' : 'Kadek', 'mnt' : '2020-10', 'vl' : 20},
{'br' : 'Dede', 'mnt' : '2020-5', 'vl' : 20},
{'br' : 'Dede', 'mnt' : '2020-5', 'vl' : 40},]

cnt = Counter()

for i in data:
    cnt[i['br'], i['mnt']] += i['value']

result = ([{'br': k[0], 'mnt': k[1], 'value': v}
        for k, v in cnt.items()])

print(result)

输出:

代码语言:javascript
复制
[{'br': 'Kadek', 'mnt' : '2020-10', 'value': 90},
{'br': 'Dede', 'mnt' : '2020-5', 'value': 60}]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65901401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档