我有两个数据框。我们称它们为main和有效日期
主要:
name from amount days
A 7/31/18 200 1
B 7/31/18 300 1
C 7/30/18 200 1
D 7/27/18 100 3
......
G 7/17/18 50 1
H 7/13/18 150 4
有效日期:
date
7/13/18
7/16/18
7/17/18
7/27/18
7/30/18
7/31/18
这是复杂的地方。我需要在天数> 1的地方扩展行,但是不能使用无效的日期。
输出:
name from amount days
A 7/31/18 200 1
B 7/31/18 300 1
C 7/30/18 200 1
D 7/27/18 100 3
......
G 7/17/18 50 1
H 7/16/18 150 1
H 7/13/18 150 3
替代(同样有效)的输出:
name from amount days rep_days rep_date
A 7/31/18 200 1 1 7/31/18
B 7/31/18 300 1 1 7/31/18
C 7/30/18 200 1 1 7/30/18
D 7/27/18 100 3 3 7/27/18
......
G 7/17/18 50 1 1 7/17/18
H 7/13/18 150 4 1 7/16/18
H 7/13/18 150 4 3 7/13/18
要澄清发生了什么:
-7/27 + 3 = 7/30。但是,有效日期中没有7/27到7/30之间的日期,因此该条目将单独保留,其中7/27代表3天。
-7/13 + 4 = 7/17。有效日期中7/13到7/17之间的唯一日期是7/16。因此,将添加一个7/16条目,它将代表一天。 7/13必须代表3。其余行数据将重复。
-通过以上示例进行操作。如果7/15和7/16是有效日期,则将添加7/15和7/16条目,每个条目代表一天。 7/13代表2。其余行数据重复。
您可以假设,天数> 1,+天数将永远不会大于“发件人”列中的另一个条目。
我意识到这可能令人困惑,因此,如果您有任何疑问,请告诉我。