问题描述
我将尝试简要介绍我的查询,如果需要更多信息,请告诉我。
我的查询是基于滚动时间窗口概念创建“ Date_Diff”列。此df的Date_Diff
举个例子:
dict = { 'Store' : ['A','A','B','B'],'Date':['4/1/2020','4/5/2020','4/7/2020','4/8/2020','4/10/2020','4/12/2020','4/16/2020','4/4/2020','4/6/2020','4/17/2020'],'Rule1':[ '','',''],'Rule2':[ '','Rule3':[ '','Rule4':[ '','']
}
df = pd.DataFrame(dict)
数据框看起来像这样:
Store Date Rule1 Rule2 Rule3 Rule4
0 A 4/1/2020
1 A 4/5/2020
2 A 4/7/2020
3 A 4/8/2020
4 A 4/10/2020
5 A 4/12/2020
6 A 4/16/2020
7 B 4/4/2020
8 B 4/6/2020
9 B 4/7/2020
以下是选择开始日期的条件:
- 按商店分组,和
- 规则列应至少包含一个“有效”
滚动窗口以索引“ 0”开始,处理索引0至索引4(10天窗口)并应用方法。列规则“ X”将相应更新。现在,将index1选择为下一个开始日期,因为Rule1具有“有效”记录。
Store Date Date_Diff Rule1 Rule2 Rule3 Rule4
0 A 4/1/2020 0 Invalid Valid Valid Valid
1 A 4/5/2020 4 Valid Invalid Invalid Invalid
2 A 4/7/2020 6 Invalid Invalid Invalid Invalid
3 A 4/8/2020 7 Invalid Invalid Valid Invalid
4 A 4/10/2020 9 Valid Invalid Valid Valid
5 A 4/12/2020 11
6 A 4/16/2020 15
7 B 4/4/2020 0
8 B 4/6/2020 2
9 B 4/18/2020 14
第一次迭代后,索引1成为开始日期“ Date_Diff”,应该这样计算,并且看起来应该像这样
Store Date Date_Diff Rule1 Rule2 Rule3 Rule4
0 A 4/1/2020 0 Invalid Valid Valid Valid
1 A 4/5/2020 0 Valid Invalid Invalid Invalid
2 A 4/7/2020 2 Invalid Invalid Invalid Invalid
3 A 4/8/2020 3 Invalid Invalid Valid Invalid
4 A 4/10/2020 5 Valid Invalid Valid Valid
5 A 4/12/2020 7 Invalid Valid Invalid Invalid
6 A 4/16/2020 11 Valid Invalid Valid Valid
7 B 4/4/2020 0
8 B 4/6/2020 2
9 B 4/18/2020 14
我遇到了障碍,不知道如何进行。非常感谢您在这里的帮助。谢谢:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)