假设我有以下代码:
import pandas as pd
frame = pd.DataFrame(
{
"Date":["11/1/2017","11/2/2017","11/3/2017","11/4/2017",
"11/5/2017","11/6/2017","11/7/2017","11/8/2017","11/9/2017","11/10/2017","11/11/2017",
"11/12/2017"],
"Day":["Wed","Thr","Fri","Sat",
"Sun","Mon","Tue","Wed","Thr","Fri","Sat",
"Sun"],
"Sales":[5,5,10,5,
5,10,5,5,15,5,0,
5]
})
frame.reset_index()
print(frame)
print()
frame['RollingSum']=frame["Sales"].rolling(window=7, min_periods = 1, win_type='boxcar').sum()
print(frame)
它打印以下输出:
^{pr2}$现在假设不是一个7天的窗口,我希望左端点是最近的星期天(或数据集中的第一天)。。。我怎么能做到呢?期望输出:
Date Day Sales WTDSum
0 11/1/2017 Wed 5 5.0
1 11/2/2017 Thr 5 10.0
2 11/3/2017 Fri 10 20.0
3 11/4/2017 Sat 5 25.0
4 11/5/2017 Sun 5 5.0
5 11/6/2017 Mon 10 15.0
6 11/7/2017 Tue 5 20.0
7 11/8/2017 Wed 5 25.0
8 11/9/2017 Thr 15 40.0
9 11/10/2017 Fri 5 45.0
10 11/11/2017 Sat 0 45.0
11 11/12/2017 Sun 5 5.0
我们在分组和分组计算中两次使用
cumsum
相关问题 更多 >
编程相关推荐