Как сделать атрибуцию стоимости на основе 2 условий (месяц и идентификатор).
Проблема в том, что идентификатор повторяется для каждого месяца, но стоимость различна для каждого месяца
, так какчтобы сопоставить эти значения из таблицы reff с основным кадром данных с помощью 2 условий (идентификатор и месяц)
В целом за месяц есть дубликаты, но не дубликаты.
Образец моих данных
cw=
adgroup Date
1001 2018-08-01
1001 2019-03-01
1003 2018-03-01
1002 2018-03-01
1001 2018-05-01
1003 2018-08-01
1001 2019-12-12
1002 2019-03-01
1001 2019-08-01
Таблица реффов
f_spend=
adgroup Month cost
1001 2019/08 101,1
1002 2019/08 70,1
1003 2019/03 4221,1
1001 2018/05 101,1
1002 2018/03 50,1
1003 2018/08 8221,1
1001 2019/08 5401,1
1002 2019/08 50,1
1003 2019/12 9221,1
1001 2019/08 101,1
1002 2019/08 50,1
1003 2019/12 6221,1
Что я сделал
# grouping by the main data( facebook data) by id
cw["id"].replace(to_replace=[None], value=np.nan, inplace=True)
grouped_cw = cw.groupby(["adgroup"]).sum()
grouped_cw = pd.DataFrame(grouped_cw)
# merging two tables together
f_spend = f_spend.merge(grouped_cw, left_on='adgroup', right_index=True)
f_spend["cost"] = pd.to_numeric(f_spend["cost"])
# mapping values to original data
cw['spent'] = cw['adgroup'].map(f_spend.set_index('adgroup')['cost'])
Не работает, потому что у меня есть дубликаты, но я не должен удалять их