Python 如何从字典中获取聚合和分组

Python 如何从字典中获取聚合和分组,python,dictionary,Python,Dictionary,输入字典如下,输出应该是项类型的聚合和 输入: 输出: {'item1': 1150, 'item2': 300} 这应该可以做到: sample_input = [{'item': 'item1', 'amount': 400}, {'item': 'item2', 'amount': 300}, {'item': 'item1', 'amount': 750}] output = {} for row in sample_input: if row['item'] in outp

输入字典如下,输出应该是项类型的聚合和 输入:

输出:

{'item1': 1150,
 'item2': 300}

这应该可以做到:

sample_input = [{'item': 'item1', 'amount': 400}, {'item': 'item2', 'amount': 300}, {'item': 'item1', 'amount': 750}]
output = {}
for row in sample_input:
    if row['item'] in output:
         output[row['item']] += row['amount']
    else:
         output[row['item']] = row['amount']
这将产生所需的输出:

output = {'item1': 1150, 'item2': 300}
使用熊猫的解决方案:

import pandas as pd

data = [{'item': 'item1', 'amount': 400},
 {'item': 'item2', 'amount': 300},
 {'item': 'item1', 'amount': 750}]

pd.DataFrame(data).groupby(['item']).agg(sum)['amount'].to_dict()

看起来您想要创建一个字典,其键是项目名称,其值是该项目的金额总和。
import pandas as pd

data = [{'item': 'item1', 'amount': 400},
 {'item': 'item2', 'amount': 300},
 {'item': 'item1', 'amount': 750}]

pd.DataFrame(data).groupby(['item']).agg(sum)['amount'].to_dict()