根据另一个时间戳值的月份,对列表中元素的值进行分组和求和



我在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']]

最新更新