簡體   English   中英

如何在 python 中聚合每周數據

[英]How to aggregate weekly data in python

我有以下格式的全年數據列表:

01 5170
01 3490
02 3630
02 3170

首先我們有周數(01, 02),然后是相應的花費(第 1 周的 5170 和 3490 等)

我將如何 go 關於添加花費的錢,以便我得到在第 1 周、第 2 周等花費的所有錢。在第一周花費的所有錢應該加在一起等等。

所以上面的數據會變成:

01  8660
02  6800

有任何想法嗎?

鑒於:

text = """01 5170
01 3490
02 3630
02 3170"""

xss = [[int(x) for x in s.split(" ")] for s in text.splitlines()]

>>> xss
[[1, 5170], [1, 3490], [2, 3630], [2, 3170]]

我們可以排序、分組,然后歸約(求和):

from itertools import groupby

groups = groupby(xss, key=lambda x: x[0])
result = [(k, sum(x for _, x in xs)) for k, xs in groups]

>>> result
[(1, 8660), (2, 6800)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM