对于输入表中的每一行,我需要通过基于每月分隔日期范围来生成多行.(请参阅以下示例输出).
有一种简单的迭代方法可以逐行转换,但在大型数据帧上却非常慢.
任何人都可以建议使用矢量化方法,例如使用apply(),map()等来实现目标吗?
输出表是一个新表.
输入:
ID, START_DATE, END_DATE
1, 2010-12-08, 2011-03-01
2, 2010-12-10, 2011-01-12
3, 2010-12-16, 2011-03-07
Run Code Online (Sandbox Code Playgroud)
输出:
ID, START_DATE, END_DATE, NUMBER_DAYS, ACTION_DATE
1, 2010-12-08, 2010-12-31, 23, 201012
1, 2010-12-08, 2011-01-31, 54, 201101
1, 2010-12-08, 2011-02-28, 82, 201102
1, 2010-12-08, 2011-03-01, 83, 201103
2, 2010-12-10, 2010-12-31, 21, 201012
2, 2010-12-10, 2011-01-12, 33, 201101
3, 2010-12-16, 2010-12-31, 15, 201012
4, 2010-12-16, 2011-01-31, 46, 201101
5, 2010-12-16, 2011-02-28, 74, 201102
6, 2010-12-16, 2011-03-07, 81, 201103
Run Code Online (Sandbox Code Playgroud)