我有一个字典列表(只是一个例子,列表更大):
my_list = [
{'metric': {'account': '1', 'email_domain': 'gmail.com', 'version': 'a'},
'values': [[1671256800, '100'], [1671260400, '100']]},
{'metric': {'account': '1', 'email_domain': 'gmail.com', 'version': 'a'},
'values': [[1671256800, '100'], [1671260400, '100']]},
{'metric': {'account': '1', 'email_domain': 'gmail.com', 'version': 'b'},
'values': [[1671256800, '300'], [1671260400, '300']]},
{'metric': {'account': '1', 'email_domain': 'gmail.com', 'version': 'b'},
'values': [[1671256800, '300'], [1671260400, '300']]}]
我想对每个帐户的所有values
求和,按版本列出email_domain,并相应地更新my_list。
my_list = [
{'metric': {'account': '1', 'email_domain': 'gmail.com', 'version': 'a'},
'values': [[1671256800, '200'], [1671260400, '200']]},
{'metric': {'account': '1', 'email_domain': 'gmail.com', 'version': 'b'},
'values': [[1671256800, '600'], [1671260400, '600']]}]
注:
- 在
'values': [[1671256800, '600'], [1671260400, '600']]
中,每个数组的第一个值是时间戳(1671256800,1671260400)。 - 在发布这个问题之前,我在这个网站上找了很多线索。对于这个用例,我找不到一个2n字典列表的正确语法。非常感谢您的帮助!
我试着跟踪group-and-aggregate-a-list-of-dictionaries-by-multiple-keys。
我开始:
d = (pd.DataFrame(my_list)).groupby(['metric']['ebs_account'], ['metric']['version']).values.
3条答案
按热度按时间vddsk6oq1#
可以将
defaultdict
与frozenset
一起使用dfddblmv2#
给你
z9smfwbn3#
试试看:
图纸: