【发布时间】:2022-11-15 16:28:57
【问题描述】:
我有以下数据框:
A B start_date end_date id
0 1 2 2022-01-01 2022-01-10 1
1 2 2 2022-02-02 2022-02-05 2
2 1 2 2022-01-11 2022-01-15 3
3 2 2 2022-02-06 2022-02-10 4
4 2 2 2022-02-11 2022-02-15 5
5 2 3 2022-01-14 2022-01-17 6
6 2 3 2022-01-19 2022-01-22 7
有几个记录一个接一个。例如,第 1 行和第 3 行。第 3 行具有相同的值 A 和 B,并在第 1 行结束时从第二天开始。我想将此数据帧压缩为以下形式:
A B start_date end_date id
0 1 2 2022-01-01 2022-01-15 1
1 2 2 2022-02-02 2022-02-15 2
2 2 3 2022-01-14 2022-01-17 3
3 2 3 2022-01-19 2022-01-22 4
也就是说,我保存一条记录,其中下一条记录的 start_date 与前一条记录的 end_date 之间的差异为 1 天。在这种情况下,对于此类序列中的最后一条记录,end_date 更改为 end_date。
【问题讨论】: