我在Python中有这个列表:
L_initial=[[1,'2019-01-01'], [1,'2019-01-01'],[2,'2019-02-02'],[4,'2019-03-03'],[5,'2019-03-04']]
我想总结所有元素的第一个值,按相同月份的时间戳形式字符串分组,最终列表如下:
L_final=[[2,'2019-01'],[2,'2019-02'],[9,'2019-03']]
我可以按天做,但不能按月做,这是我每天汇总的代码:
dico = {}
for v, k in liste_initial:
dico[k] = dico.get(k, 0) + v
liste_final=[[v, k] for k, v in dico.items()]
由于您的日期是YYYY-MM-DD
格式,您只需将每个日期的前7个字符按月分组即可:
liste_initial = [[1,'2019-01-01'], [1,'2019-01-01'],[2,'2019-02-02'],[4,'2019-03-03'],[5,'2019-03-04']]
dico = {}
for v, k in liste_initial:
dico[k[:7]] = dico.get(k[:7], 0) + v
liste_final=[[v, k] for k, v in dico.items()]
输出:
[[2, '2019-01'], [2, '2019-02'], [9, '2019-03']]