【发布时间】:2016-10-11 08:01:54
【问题描述】:
我有以下数据框:
id day total_amount
1 2015-07-09 1000
1 2015-10-22 100
1 2015-11-12 200
1 2015-11-27 2392
1 2015-12-16 123
7 2015-07-09 200
7 2015-07-09 1000
7 2015-08-27 100018
7 2015-11-25 1000
8 2015-08-27 1000
8 2015-12-07 10000
8 2016-01-18 796
8 2016-03-31 10000
15 2015-09-10 1500
15 2015-09-30 1000
如果它们具有相同的 id,我需要在 day 列中每两个连续的时间减去一次,直到到达该 id 的最后一行,然后这次开始减去 day 列中的时间以获得新的 id,类似于输出中的以下行:
1 2015-08-09 1000 2015-11-22 - 2015-08-09
1 2015-11-22 100 2015-12-12 - 2015-11-22
1 2015-12-12 200 2015-12-16 - 2015-12-12
1 2015-12-16 2392 2015-12-27 - 2015-12-27
1 2015-12-27 123 NA
7 2015-08-09 200 2015-09-09 - 2015-08-09
7 2015-09-09 1000 2015-09-27 - 2015-09-09
7 2015-09-27 100018 2015-12-25 - 2015-09-27
7 2015-12-25 1000 NA
8 2015-08-27 1000 2015-12-07 - 2015-08-27
8 2015-12-07 10000 2016-02-18 - 2015-12-07
8 2016-02-18 796 2016-04-31- 2016-02-18
8 2016-04-31 10000 NA
15 2015-10-10 1500 2015-10-30 - 2015-10-10
15 2015-10-30 1000 NA
【问题讨论】:
-
@exp1orer 感谢您的帮助
-
@AMM 非常感谢您的帮助
标签: python pandas data-manipulation data-cleaning data-science