我有这种格式的数据:
d = [
{'key': '2018-05-10', 'vals': {'Clicks': 229, 'Link Clicks': 210}},
{'key': '2018-05-11', 'vals': {'Clicks': 365, 'Link Clicks': 379}},
{'key': '2018-05-10', 'vals': {'Clicks': 139, 'Link Clicks': 11}},
{'key': '2018-05-11', 'vals': {'Clicks': 1348, 'Link Clicks': 73}},
]
即,它具有相同的多个条目 key
我希望它对它进行分组,以便Clicks&Link Clicks归纳共同的日期:
所以输出应该像这样:
d = [
{'key': '2018-05-10', 'vals': {'Clicks': 368, 'Link Clicks': 221}},
{'key': '2018-05-11', 'vals': {'Clicks': 1713, 'Link Clicks': 452}},
]
我想到了首先通过使用将值分组在一起defaultdict:
from collections import defaultdict
dd = defaultdict(list)
for i in d:
dd[i['key']].append(i['vals'])
它给出以下输出:
{ 2018-05-10': [
{'Clicks': 229, 'Link Clicks': 210},
{'Clicks': 139, 'Link Clicks': 11}
],
'2018-05-11': [
{'Clicks': 365, 'Link Clicks': 379},
{'Clicks': 1348, 'Link Clicks': 73}
]}
现在,我认为我可以Counter用来总结价值,但我知道如何去做。同样,键的名称(即Clicks&Link Clicks可能会更改&vals可以包含两个以上的条目)。
还可以不用使用它defaultdict吗?有没有更好的方法?
注意:我认为使用defaultdict的方法并不理想,因为我一直希望按日期对数据进行排序,而一旦我使用dict,我将失去顺序
米脂
蝴蝶刀刀
皈依舞
相关分类