【发布时间】:2016-08-30 23:44:46
【问题描述】:
对于输入表中的每一行,我需要通过按月分隔日期范围来生成多行。 (请参考下面的示例输出)。
有一种简单的迭代方法可以逐行转换,但在大型数据帧上速度很慢。
谁能建议一种矢量化方法,例如使用 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
输出:
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
【问题讨论】:
标签: python pandas dataframe vectorization