我在 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']]
关于python - 根据另一个时间戳值的月份,对列表元素的值进行分组和求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65491130/