是否有一个SUMIF函数来汇总Python中字典中的标识符?

myn*_*ame 0 python dictionary sum

对不起,如果这个问题太简单了,但是sumifpython中是否有一个sum按标识符和类别的功能?所以在这种情况下,我希望有一个函数sumif,它将标识符和年份作为参数,并将金额相加.例如sumif('105','2006')应该返回1200.

data = {'105':[{'2005': 500}, {'2005', 13000}, {'2006', 100}, {'2006', 200}, {'2006', 900}], '256': [{'2005', 5000}, {'2005', 800}]}
Run Code Online (Sandbox Code Playgroud)

eum*_*iro 5

>>> from collections import Counter
>>> data = {'105':[{'2005': 500}, {'2005': 13000}, {'2006': 100}, {'2006': 200}, {'2006': 900}], '256': [{'2005': 5000}, {'2005': 800}]}

>>> sum(map(Counter, data['105']), Counter())['2006']
1200
Run Code Online (Sandbox Code Playgroud)

因此,定义sumif将是:

sumif = lambda x, y: sum(map(Counter, data[x]), Counter())[y]
Run Code Online (Sandbox Code Playgroud)