У меня есть датафрейм с миллионами групп. Я пытаюсь для каждой группы добавить 3 месяца дат (даты окончания месяца) вверху каждой группы. Поэтому, если первое наблюдение за группой - декабрь 2019 года, я хочу заполнить 3 строки до этого наблюдения датами с сентября 2019 года по ноябрь 2019 года. Я также хочу заполнить столбец группы соответствующим идентификатором группы, и остальные столбцы могут остаться как нулевые значения.
Хотелось бы избежать циклов, если это возможно, так как это очень большой набор данных
Это мой до DataFrame:
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]})
Это мой после DataFrame
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]})