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()