I have df with 3 columns - a, b, dt. I want to insert rows in this df such that where there are two similar values of a and b all the dates in between are inserted with values of a and b repeated.
>>> import pandas as pd
>>> from datetime import datetime as dt
>>> df = pd.DataFrame({'a':['abd', 'abd', 'rds', 'rds', 'rsd', 'rsd', 'tsb'], 'b':['ar','ar','pr','pr','sg','sg','sg'], 'dt':[dt(2013,1,1), dt(2013,1,4), dt(2014,7,3), dt(2014,7,14), dt(2016,4,8), dt(2016,4,9), dt(2016,4,9)]})
>>> df
a b dt
0 abd ar 2013-01-01
1 abd ar 2013-01-04
2 rds pr 2014-07-03
3 rds pr 2014-07-14
4 rsd sg 2016-04-08
5 rsd sg 2016-04-09
6 tsb sg 2016-04-09
>>>
The desired output df is as follows:
>>> df
a b dt
0 abd ar 2013-01-01
1 abd ar 2013-01-02
2 abd ar 2013-01-03
3 abd ar 2013-01-04
4 rds pr 2014-07-03
5 rds pr 2014-07-04
6 rds pr 2014-07-05
7 rds pr 2014-07-06
8 rds pr 2014-07-07
9 rds pr 2014-07-08
10 rds pr 2014-07-09
11 rds pr 2014-07-10
12 rds pr 2014-07-11
13 rds pr 2014-07-12
14 rds pr 2014-07-13
15 rds pr 2014-07-14
16 rsd sg 2016-04-08
17 rsd sg 2016-04-09
18 tsb sg 2016-04-09
>>>