What is the most pythonic way to group by multiple keys and summarize/average values of a list of dictionaries in Python please? Say I have a list of dictionaries as below:<
Inspired by Eelco Hoogendoorn's answer. Here is another way to resolve this using Pandas package. The code is more readable.
import numpy as np
import pandas as pd
def sum_by_cusip_and_dept(data):
df = pd.DataFrame(data)
grouped = df.groupby(['sku', 'dept'])
sum = grouped.sum()
return [{'sku': r[0], 'dept': r[1], 'qty': kv.to_dict().get('qty')} for r, kv in sum.iterrows()]