【发布时间】:2019-01-26 08:11:37
【问题描述】:
我有这样的数据。第一列是从一个起点开始的天数。第二列是在给定的每个天数后生成的值。 例如,第 1 天后我得到 5 美元,第 2 天后我得到 3 美元,依此类推。可能有一段时间没有收入,比如第 4 天。数字不连续。
data =pd.DataFrame({'day':[1,2,3,5,6,7,8,9,10,11,14,15,17,18,19],
'value':[5,3,7,8,9,4,6,5,2,8,6,7,9,5,2]})
我想在每 7 天窗口后查找总值。 输出应该像
day value
7 36
14 27
21 23
我正在使用循环来实现这一点。有没有更好的pythonic方式来做到这一点。
df =pd.DataFrame({})
sum_value=0
for index, row in data.iterrows():
sum_value+= row['value']
if row['day'] %7==0:
df = df.append(pd.DataFrame({'day':row['day'],'sum_value':[sum_value]}))
sum_value=0
pritn(df)
另外,如何在每一天(每行)查找前 7 天值的总和 预期输出
day value
1 5
2 8
3 15
5 23
6 32
7 36
8 37
9 39
10 34
and so on...
我希望我的计算是正确的。它基本上是前 7 天的总价值。如果天数列中没有缺少数字会更容易。
【问题讨论】:
-
请检查已编辑的答案。
标签: python-3.x pandas