我有一个包含数百万组的数据框。我尝试在每个组的顶部添加 3 个月的日期(月结束日期)。因此,如果某个组的第一次观察是 2019 年 12 月,我想在该观察之前填充 3 行,日期为 2019 年 9 月到 2019 年 11 月。我还想用相关组 ID 填充组列,其他列可以保留作为空值。
希望尽可能避免循环,因为这是一个非常大的数据集
这是我之前的数据框:
import pandas as pd
before = pd.DataFrame({'Group':[1,1,1,1,1,2,2,2,2,2],
'Date':['31/10/2018','30/11/2018','31/12/2018','31/01/2019','28/02/2019','30/03/2001','30/04/2001','31/05/2001','30/06/2001','31/07/2001'],
'value':[1.1,1.7,1.9,2.3,1.5,2.8,2,2,2,2]})
Run Code Online (Sandbox Code Playgroud)
这是我的数据框之后
import pandas as pd
after = pd.DataFrame({'Group':[1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2],
'Date':['31/07/2018','31/08/2018','30/09/2018','31/10/2018','30/11/2018','31/12/2018','31/01/2019','28/02/2019','31/12/2000','31/01/2001','28/02/2001','30/03/2001','30/04/2001','31/05/2001','30/06/2001','31/07/2001'],
'value':[np.nan,np.nan,np.nan,1.1,1.7,1.9,2.3,1.5,np.nan,np.nan,np.nan,2.8,2,2,2,2]})
Run Code Online (Sandbox Code Playgroud)