我有这个问题,我有几列:ID、Date和Value.我需要按ID和日期分组,以便在一个组中,日期值彼此之间的距离不应超过7天.
数据如下所示:
df = pd.DataFrame({'id' : [1, 2, 2, 3, 3, 3, 4], 'date' : ['2019-02-28', '2019-02-27', '2019-02-28', '2019-02-1', '2019-02-2', '2019-03-20', '2019-02-28'], 'value' : ['a', 'b', 'c', 'c', 'a', 'b', 'c']})
我想要获取日期组的最早日期,并列出这些值.
我希望有这样的东西:
| id | date | value |
| -------- | ---------- | ---------- |
| 1 | 2019-02-28 | ['a'] |
| 2 | 2019-02-27 | ['b', 'c'] |
| 3 | 2019-02-1 | ['c', 'a'] |
| 3 | 2019-03-20 | ['b'] |
| 4 | 2019-02-28 | ['c'] |
请注意,id组可以有多个不同的日期时间组.
我发现很难对DateTime值进行排序,同时使这个GROUPPY BY判断它旁边行的日期差是否在7天以内.